I was able to get that output by changing the script like:
print $file $_ if s/$LeftSide/$RightSide/eegi;

And then left side is just a comma ',' without the quotes and right side is "\n" WITH the quotes

EDIT: Using above little snippet, Use left side as \),\( and right side as "\)\n\(". And from what I understand the above snippet is the same as doing:

print $_ if s/$LeftSide/eval $RightSide/egi;

So I also suggest reading PerlDoc: eval.

Heres another more hackish way to get the job done haha:

Create your main script like so, with keywords in the s///

# main.pl # all this is just a template that creates "run.pl" use strict; use warnings; while(<DATA>){ print $_ if s/search_here/replace_here/gi; } __DATA__ (123),(456),(789) (abc),(def),(ghi)

Then this following script will search and replace the keywords "search_here" and "replace_here" in the script above, with whatever you input and put it in "run.pl"!

# prepare_run.pl open my $file, '+<', 'main.pl'; #your original script we will replace +keywords open my $run, '+>', 'run.pl'; #newly created script that we will execu +te below print "Enter left side of s///: "; chomp(my $LeftSide = <STDIN>); print "Enter right side of s///: "; chomp(my $RightSide = <STDIN>); while(my $line = <$file>){ print $run $line if $line !~ /.*search_here.*/ || /.*replace_here.*/; print $run $line if $line =~ s/(.*)search_here(.*)/$1$LeftSide$2/ && + $line =~ s/(.*)replace_here(.*)/$1$RightSide$2/; } close($file); close($run); system("run.pl"); #or whatever the the equivalent of your OS.

Here is the script that the above will create and run:

# run.pl, will be created after running "prepare_run.pl" while using " +main.pl" as a template. use strict; use warnings; while(<DATA>){ print $_ if s/\),\(/\)\n\(/gi; } __DATA__ (123),(456),(789) (abc),(def),(ghi)

Download all the above and then just run "prepare_run.pl" and it will copy lines from main.pl while replacing keywords with your regex from STDIN and put it all in run.pl for execution. You can use \),\( and \)\n\( for STDIN per normal without using any quotes.

Here is the output:

(123) (456) (789) (abc) (def) (ghi)

In reply to Re^3: Regex stored in a scalar by james28909
in thread Regex stored in a scalar by OtakuGenX

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.