Prueba:
#!/usr/bin/perl
# This is a comment ~~~
# This script will be run as a Perl script
# since 'perl' isn't a keyword or function in Perl
# something like this must fail:
#
# perl -e 'print "Hello";'
#
# The following should work.
print "Hello"; print " World\n";
O, si desea que su script de shell ejecute código Perl:
#!/bin/sh
# That's a Bash script ~~~
# It's just a command line in a file ...
perl -e 'print "Hello World";'
Fondo:#!
es una directiva de intérprete.
Cuando se ejecuta el comando, se convierte en una ejecución del intérprete.
perl
no es un comando válido dentro de un script Perl. Si hubiera nombrado ese archivo como un script .sh y hubiera usado #!/bin/bash
en la línea shebang, habría funcionado, pero realmente no tiene mucho sentido escribir un archivo bash solo para invocar Perl (¿por qué no invocar Perl directamente?)
Como mencionó que desea interactuar con la línea de comandos, mencionaré aquí que puede acceder a las opciones de la línea de comandos dentro de Perl a través de @ARGV
formación. (Ver perldoc perlvar.)