On Jun 6, Kevin Old said:

>What I need is for a script (when run) to open a specified file and
>comment out a certain line of code.  This script will be run via a cron
>job late at night.

Why use a regex for this?  If you're checking for STRING EQUALITY, you
should use the 'eq' operator.

  while ($line = <FILE>) {
    chomp;  # remove newline
    if ($line eq '${tmp} = "Enable" if( ${zone} =~ /gvl/i ) ;') {
      $line = "#$line";
    }
    print OUTPUT "$line\n";
  }

>$string =~ s/(\$\{tmp\} \= \"Enable\" if\( \$\{zone\} \=~ \/gvl\/i \) \;)/#$1/;

The {, }, =, ", and ; do not need backslashes.  And, if you use something
other than / for the s/// delimiter, the /'s won't need backslashes
either.

  $string =~ s[(\${tmp} = "Enable" if\( \${zone} =~ /gvl/i \) ;)][#$1];

That looks to me like it should work, but again -- no need for a regex,
since you're testing for equivalency, not pattern matching.

-- 
Jeff "japhy" Pinyan      [EMAIL PROTECTED]      http://www.pobox.com/~japhy/
RPI Acacia brother #734   http://www.perlmonks.org/   http://www.cpan.org/
** Look for "Regular Expressions in Perl" published by Manning, in 2002 **
<stu> what does y/// stand for?  <tenderpuss> why, yansliterate of course.
[  I'm looking for programming work.  If you like my work, let me know.  ]


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to