http://www.perlmonks.org?node_id=1020712

topbanana has asked for the wisdom of the Perl Monks concerning the following question:

Hello, So I have two issues: 1: script won't execute on the bash command line unless I prefix it with "perl" , and 2: "Unquoted string "say" may clash with future reserved word" Please see below. I am running cygwin on Windows7 with perl installed. The script is called hello.pl. It has execute permissions. It has #!/usr/bin/perl at the top. It uses the "say" command. I'm running 5.14 The script won't run unless I call it with "perl". Why is this? Also, the "say" command doesn't work. Appreciate any help in advance. Thanks J
~/perl J-PC:J >which perl /usr/bin/perl ~/perl J-PC:J >ls -l hello.pl -rwxr--r-- 1 J None 44 Feb 26 15:22 hello.pl ~/perl J-PC:J >cat hello.pl #!/usr/bin/perl use warnings; say "hello"; ~/perl J-PC:J >. hello.pl -bash: use: command not found -bash: say: command not found ~/perl J-PC:J >perl hello.pl Unquoted string "say" may clash with future reserved word at hello.pl +line 4. String found where operator expected at hello.pl line 4, near "say "he +llo"" (Do you need to predeclare say?) syntax error at hello.pl line 4, near "say "hello"" Execution of hello.pl aborted due to compilation errors. ~/perl J-PC:J >perl -v This is perl 5, version 14, subversion 2 (v5.14.2) built for cygwin-th +read-multi-64int
Additional information: Even changing "say" to "print", and trying to run by using "." I get no joy:
~/perl J-PC:J >cat hello.pl #!/usr/bin/perl use warnings; print "hello"; ~/perl J-PC:J >. hello.pl -bash: use: command not found Unable to initialize device PRN ~/perl J-PC:J >