On Sun, Jun 3, 2018 at 5:28 PM ToddAndMargo <toddandma...@zoho.com <mailto:toddandma...@zoho.com>> wrote:

    Hi All,

    What am I doing wrong here?

           $ p6 'lib \'./\'; use RunNoShell; ( my $a, my $b ) =
    RunNoShell::RunNoShell("ls *.pm6"); say $a;'

           bash: syntax error near unexpected token `='

    Huh ???

    This is RunNoShell.pm6

          sub RunNoShell ( $RunString ) is export {
             return ( $ReturnStr, $RtnCode );

    Many thanks,

On 06/03/2018 02:36 PM, Brandon Allbery wrote:
bash doesn't like nested single quotes, even with escapes. So the first \' gave you a literal backslash and ended the quoted part, then the second \' gave you a literal ' and continued without quoting. The final ' would then open a new quoted string, but bash doesn't get that far because it sees the (now unquoted) parentheses and tries to parse them as a command expansion.

allbery@pyanfar ~/Downloads $ echo 'x\'y\'z'
 > ^C

Note that it thinks it's still in a quoted string and wants me to continue.

p6 does not like `lib ./`,  meaning use the current directory
without the single quotes.  Any work around?

Reply via email to