Parece que a linha shebang ( #!/usr/bin/perl
) não é interpretada em seu sistema porque bash
está tentando interpretar o script. Tente invocar o script como:
[user@host]$ perl test.pl
Além disso, uma linha muito melhor "shebang", cortesia do livro do Camel :
#!/usr/bin/perl
eval "exec /usr/bin/perl -S $0 ${1+"$@"}"
if $running_under_some_shell;
Isso permite que você invoque o script como ./test.pl
, independentemente de o seu sistema entender a linha shebang.
Nota adicional
Isso não está relacionado ao problema real, mas é um problema que você eventualmente encontrará quando executar o script em Perl: '$_\n'
está errado, você precisa de citações interpolativas (também chamadas de aspas e aspas duplas) para $_
ser interpolado e \n
para ser reconhecido como uma seqüência de escape em oposição a uma barra invertida literal que precede a letra n
.
Várias maneiras de fazer isso:
print "$_\n" for @Config{...}
ou
print qq{$_\n} for @Config{...}
ou
#!/usr/bin/perl -l
...
print for @Config{...}
ou (requer Perl 5.10 ou superior)
use feature qw(say)
...
say for @Config{...}