http://www.perlmonks.org?node_id=1032470


in reply to Re^4: Filehandle problem
in thread Filehandle problem

Your main problem is using $1. If you used strictures this would be a fatal error, stopping you treading on your own toes :)

use strict; use warnings; my $label = 'owt'; while (my $line = <DATA>) { if ($line =~ m/s_abc_in\(\d+\).*\s*<=\s*s_abc_out\(\d+\).*/){ for (1..6){ my $j = $_ + 1; print "a_abc_in\_rrfa_$label($j) <= s_abc_out\_rrfa_$label($_);\ +n"; } } else { print $line; } } __DATA__ ................................. s_abc_in(1450) <= s_abc_out(324); # this is my first match an unmatched line s_abc_in(1451) <= s_abc_out(1450); unmatched line, as are the ...... lines ................................

Cheers,
R.

Pereant, qui ante nos nostra dixerunt!

Replies are listed 'Best First'.
Re^6: Filehandle problem
by jnyman (Acolyte) on May 08, 2013 at 07:38 UTC
    Actually if you look carefully, he is correctly using $l (as in L or line), not $1 (one).