Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change

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

by McA (Priest)
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


you call the perl script with . That instructs your shell to take the commands from 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

Replies are listed 'Best First'.
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 #!/usr/bin/perl use warnings; use v5.10.0; say "hello"; ~/perl J-PC:J >perl hello ~/perl
    But I cannot execute the script with "." :
    J-PC:J >. -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.
    I should say that I just tried running with "./" rather than "." and it worked. IIRC using ". " i.e. dot space runs a command in a separate process (or'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 "" on the command line -- no ".".)

        I never knew that. Both issues are solved now.
        Many thanks.
      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?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1020716]
[LanX]: Wep programing?

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (11)
As of 2017-05-24 15:51 GMT
Find Nodes?
    Voting Booth?