Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Re^3: Need to skip two lines

by linuxer (Deacon)
on May 08, 2009 at 18:48 UTC ( #762912=note: print w/ replies, xml ) Need Help??


in reply to Re^2: Need to skip two lines
in thread Need to skip two lines

You could consider the following things:

  • Don't use $_ as loop variable; use $source directly
  • remove the parentheses in the regex (for skipping blank lines); you don't need to capture the whitespaces, do you?
  • compare fixed strings directly (without regex); check Equality Operators for info about eq and ne
  • I don't see a need for $sorter2; just leave it out.
  • If all your ifs are alternatives, you can use if/elsif/elsif(/else) and leave out the next calls.

So this is, what I came up with:

# don't bother $_; use $source directly as loop variable while ( my $source = <SOURCE> ) { # skip blank lines; no need for capturing () next if $source =~ m/^\s*$/; # compare fixed strings directly without regex; use operators eq o +r ne if ( substr( $source, 145, 16 ) eq 'Page: 1' ) { $page1 = 1; } elsif ( substr( $source, 76, 11 ) eq 'Run Listing' ) { $reporttype = 1; } elsif ( substr( $source, 72, 9 ) eq 'Sorter: 2' ) { # no need for $sorter2; just check the other variables and do +your stuff if ( $page1 == 1 and $reporttype == 1 ) { # just personal preference; post increment $dcount++; # personal preference; print a list instead of concatted s +trings print substr( $source, 83, 20 ), "\n"; $page1 = 0; $reporttype = 0; # leave out next, if there is no more code in the while-lo +op #next; } } # no other stuff here? }


Comment on Re^3: Need to skip two lines
Select or Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (12)
As of 2015-07-30 13:59 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (271 votes), past polls