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


in reply to Re^2: Context tutorial
in thread Context tutorial

You're right. Don't know what I did before. deleting...

$ perl -e "$now = localtime(); print $now;" syntax error at -e line 1, near "=" Execution of -e aborted due to compilation errors.

As explained to me by ikegami and runrig in the chatterbox: perl -e "$now = localtime(); print $now;" and perl -e ' = localtime(); print ;' are equivalent in bash (Ubuntu's default) unless $now is an Environmental variable within the Bash shell.

In other words if one is doing some Bash scripting and has defined $1 as a variable within that shell-script ... then the way to access that same system (environmental) $1 is to use perl -e " ... $1 ... ".

Cheers.

Replies are listed 'Best First'.
Re^4: Context tutorial
by ikegami (Patriarch) on Jun 17, 2011 at 00:20 UTC

    bash does support double quotes, but «\», «"» and «$» (and maybe more) are special in double quotes.

    $ perl -E'my $x = qq{abc\\def}; say $x' abc\def $ perl -E"my \$x = qq{abc\\\\def}; say \$x" abc\def
Re^4: Context tutorial
by Anonymous Monk on Jun 17, 2011 at 04:22 UTC
    On guard perl -le print~~localtime
      ~~? Can you provide a reference please?
        :) see perlop
        $ perl -le print~localtime
        ╣мы▀╡иж▀╬╚▀╧╬┼╬╔┼╠╩▀═╧╬╬
        
        $ perl -le print~~localtime
        Fri Jun 17 01:16:42 2011
        
        $ perl -le print~~~localtime
        ╣мы▀╡иж▀╬╚▀╧╬┼╬╔┼╦╔▀═╧╬╬
        
        $ perl -le print~~~~localtime
        Fri Jun 17 01:16:49 2011