http://qs321.pair.com?node_id=1066506

too bad this doesn't work.

while(<DATA>){y/a-zA-Z/b-zaZA-Y/e}

Replies are listed 'Best First'.
Re: oh for y///e
by kcott (Archbishop) on Dec 11, 2013 at 14:39 UTC

    G'day bhildred,

    "too bad this doesn't work.
    while(<DATA>){y/a-zA-Z/b-zaZA-Y/e}"

    'e' is not a valid option for y/// — see perlop: Quote-Like Operators.

    "this doesn't work" is a useless error report. What were you expecting it to do?

    -- Ken

Re: oh for y///e
by Eily (Monsignor) on Dec 11, 2013 at 14:27 UTC

    What are you trying to do with the /e switch? eval 'b-zaZA-Y'? I don't see the point. And if you want to eval the result, just do eval y/a-zA-Z/b-zaZA-Y/r while <DATA>;

    And if you just put the /e by mistake, just take it away and your code will work just fine.

      What are you trying to do with the /e switch? eval 'b-zaZA-Y'? I don't see the point.
      Maybe something like:
      $cryped = substitution_cypher(); $text =~ y/a-z/$crypted/e;
      instead of
      eval "\$text =~ y/a-z/$crypted/";
        It would be cool when writing Obfuscated Code to eval the results of a transform without using eval to make it obvious what you are doing.