2010-06-02 5 views
1

Basé sur la réponse SO "my ($export = $doc) =~ s{.odt}{.pdf};" pourquoi ce script Perl produit-il une erreur de compilation?

$ cat so.pl 
#!/usr/bin/perl 
my $doc ="x.odt"; 
my ($export = $doc) =~ s{\.odt}{.pdf}; 
$ ./so.pl 
Can't declare scalar assignment in "my" at ./so.pl line 3, near ") =~" 
Execution of ./so.pl aborted due to compilation errors. 
+2

Parce que je n'ai pas testé mon code avant que je soumettais à SO :-(Désolé. Essayez '(mon $ export = $ doc) = ~ ... ' – mob

+0

@mobrule ... quelle est cette chose de" test "dont vous parlez? – DVK

+0

@DVK J'ai seulement entendu des rumeurs, mais je crois comprendre que c'est un sort mystérieux et puissant découvert par les alchimistes du 11ème siècle, et redécouvert par les programmeurs Python en 2007. La magie noire, vraiment – mob

Répondre

4

Mettez le mon intérieur de la parenthèse ...

(my $export = $doc) =~ s{\.odt}{.pdf}; 
Questions connexes