Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Re^4: Filehandle problem

by amma (Novice)
on May 07, 2013 at 11:38 UTC ( #1032468=note: print w/ replies, xml ) Need Help??


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

................................. ................................. s_abc_in(1450) <= s_abc_out(324); # this is my first match s_abc_in(1451 <= s_abc_out(1450); .................................

After the first match , the if condition should execute and place lines of for loop. if it fails the remaining lines of the whole original file should go into the new file. This is my requirement.


Comment on Re^4: Filehandle problem
Download Code
Re^5: Filehandle problem
by Random_Walk (Parson) on May 07, 2013 at 11:55 UTC

    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!
      Actually if you look carefully, he is correctly using $l (as in L or line), not $1 (one).

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1032468]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (5)
As of 2014-09-01 19:51 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite cookbook is:










    Results (17 votes), past polls