Prova:
#!/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";
Oppure, se vuoi che il tuo script di shell esegua il codice Perl:
#!/bin/sh
# That's a Bash script ~~~
# It's just a command line in a file ...
perl -e 'print "Hello World";'
Sfondo:#!
è una direttiva interprete.
Quando il comando viene eseguito, viene convertito in un'esecuzione dell'interprete.
perl
non è un comando valido all'interno di uno script Perl. Se hai chiamato quel file come script .sh e hai usato #!/bin/bash
sulla linea shebang, avrebbe funzionato, ma non ha molto senso scrivere un file bash solo per invocare Perl (perché non invocare Perl direttamente?)
Dato che hai detto che vuoi interagire con la riga di comando, menzionerò qui che puoi ottenere le opzioni della riga di comando all'interno di Perl tramite @ARGV
Vettore. (Vedi perldoc perlvar.)