Perché il mio codice non funziona dopo aver aggiunto use strict; use warnings;
? C'è un modo per farlo funzionare?Come evitare errori con i parametri della riga di comando perl e usare strict
In precedenza, il codice di lavoro è:
#!/usr/bin/perl -s
print "x: $x\n";
print "y: $y\n";
Il comando che ho incontrato è perl -s test.pl -x="hello" -y="world"
. L'output è:
x: hello
y: world
Tuttavia, dopo che ho aggiunto use strict; use warnings;
, ho ottenuto i seguenti errori:
Variable "$x" is not imported at test.pl line 4.
Variable "$y" is not imported at test.pl line 5.
Global symbol "$x" requires explicit package name at test.pl line 4.
Global symbol "$y" requires explicit package name at test.pl line 5.
Execution of test.pl aborted due to compilation errors.
so che ho bisogno di dichiarare my $x
e my $y
per fissare il 3 ° e 4 ° errore. Ma cosa significano i primi 2 errori e come posso superarli?
Dedico un intero capitolo in _Mastering Perl_ alle opzioni (heh) qui. :) –
la riga dello shebang è sbagliata; dovrebbe essere #!/usr/bin/env perl quindi usare strict; su una nuova linea per la massima portabilità –
@briandfoy Verrebbe il capitolo 10 di _Mastering Perl_: 'Configurazione dei programmi Perl'? –