in reply to Re: assigning a perl variable in shell
in thread assigning a perl variable in shell

Ya' know what guys? I figured it out.

If you just put an escape character in front of $tombstone like so : \$tombstone, it works! It successfully masks the '$' to UNIX and Perl still picks it up and uses it. So My output ends up bing:

mytree - Your 3 and 53 other things go here. basket , pizza

Everything prints!

Replies are listed 'Best First'.
Re^3: assigning a perl variable in shell
by LanX (Saint) on Jan 13, 2015 at 20:48 UTC
    > I figured it out.

    Great that you figured it out on your own!

    edit

    NB: This kind of code generation is prone to ugly bugs on the long run.

    You should really consider AnoMonks' suggestions to pass data either via @ARGV or %ENV.

    Cheers Rolf

    PS: Je suis Charlie!

Re^3: assigning a perl variable in shell
by Anonymous Monk on Jan 13, 2015 at 23:45 UTC

    Sounds like the here document in the original Korn script was interpolating variables - I don't know ksh, but in bash you can stop it from doing that like so:

    #!/bin/bash cat <<END foo <$HOME> END cat <<'END' bar <$HOME> END ### Output: # foo </home/foobar> # bar <$HOME>

    That happens to be the equivalent behavior as Perl in regards to stopping interpolation in here documents. If you can, I'd strongly suggest always giving your scripts to perl this way - as LanX said, trying to get values into Perl via interpolation is going to end up being a pain, so use @ARGV (that would be my suggestion) or %ENV.