Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Re^2: A way to avoid repeated conditional loops

by Deus Ex (Scribe)
on Aug 24, 2011 at 12:44 UTC ( [id://922097]=note: print w/replies, xml ) Need Help??


in reply to Re: A way to avoid repeated conditional loops
in thread A way to avoid repeated conditional loops

That's an awesome approach! Really like this method. I'll test it and put it on production.

Thanks!

  • Comment on Re^2: A way to avoid repeated conditional loops

Replies are listed 'Best First'.
Re^3: A way to avoid repeated conditional loops
by SuicideJunkie (Vicar) on Aug 24, 2011 at 13:57 UTC

    Are you assuming that 'alpha' is also always the first line in the file?

    Also, the posted flipflop doesn't behave the same as the OP

    A simpler way to just use a flag and short circuit the regex work:

    my $seen = 0; while (<$fh>) { if ( !$seen and m/^alpha$/) { $seen = 'yes indeed'; print "true\n"; }else{ print "false\n"; } }

    Given a test file of:

    foo bar alpha beta gamma delta
    The results I got are:
    Original: false false true false false false Flipflop: Argument "" isn't numeric in numeric gt (>) at test.pl line 21, <$fh> +line 1. false Argument "" isn't numeric in numeric gt (>) at test.pl line 21, <$fh> +line 2. false false true true true Flag: false false true false false false

      hm, if I add no warnings "numeric"; to the flip-flop code, the output seems to be fine. output all lines after "alpha". at least that's how I understood the task.

        The OP code has an else condition on the match for alpha. That should execute for every line of the file except the 'alpha', regardless of before or after.

      No, "alpha" might be anywhere in the middle of the file (but it will appear only once).

      Actually the flip-flop operator may work only after "alpha" matched.

      Many thanks though for the short-circuiting thing :)

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others cooling their heels in the Monastery: (3)
As of 2024-04-24 02:09 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found