Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Re: Unquoted string "say" may clash with future reserved word

by McA (Curate)
on Feb 26, 2013 at 16:05 UTC ( #1020716=note: print w/ replies, xml ) Need Help??


in reply to Unquoted string "say" may clash with future reserved word

Hi,

you call the perl script with . hello.pl. That instructs your shell to take the commands from hello.pl and interpret them as shell commands.

The second part with say comes from the fact, that you have to enable the new (since 5.10) function 'say' with a proper use v5.14.0;

Best regards
McA


Comment on Re: Unquoted string "say" may clash with future reserved word
Select or Download Code
Re^2: Unquoted string "say" may clash with future reserved word
by topbanana (Novice) on Feb 26, 2013 at 16:18 UTC
    Hi McA Thanks, you have solved one of the two problems - getting "say" to work. The other problem - not being able to execute the script with "." still exists:
    ~/perl J-PC:J >cat hello.pl #!/usr/bin/perl use warnings; use v5.10.0; say "hello"; ~/perl J-PC:J >perl hello.pl hello ~/perl
    But I cannot execute the script with "." :
    J-PC:J >. hello.pl -bash: use: command not found -bash: use: command not found -bash: say: command not found ~/perl J-PC:J >
    I have added /usr/bin/perl to my $PATH variable, although I don't think that should be necessary because the script has /usr/bin/perl at the top of it. I have also put +x perms on the script.
    Update:
    =======
    I should say that I just tried running with "./hello.pl" rather than ". hello.pl" and it worked. IIRC using ". " i.e. dot space runs a command in a separate process (or summat...it's been a while)...but as far as I remember there's no reason why a command might run using "./<command>" rather than ".space<command>"
      You will never be able to execute the script with ".", since "." is a command to read a shell script -- not any generic script.

      (Just type "hello.pl" on the command line -- no ".".)

        I never knew that. Both issues are solved now.
        Many thanks.
        J
      The "." shell command doesn't do what you think it does. As McA says, it tells the shell to read commands from the supplied file. You're giving it a file full of perl commands. Think of it like talking to someone in a language they don't understand. That's not going to work except in the case of a strange perl file.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1020716]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (5)
As of 2014-10-26 06:09 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    For retirement, I am banking on:










    Results (151 votes), past polls