Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Re^2: Flipin good, or a total flop?

by bart (Canon)
on Jan 25, 2006 at 22:25 UTC ( #525583=note: print w/replies, xml ) Need Help??


in reply to Re: Flipin good, or a total flop?
in thread Flipin good, or a total flop?

If you're really interested on whether the start condition and/or end condition were triggered, there's another way: using variables to capture the test results. Like this:
if((my $start = /start/) .. (my $end = /end/)) { ...
Later, you simply have to test the boolean value of $start and $end:
print "First time\n" if $start; print "Last time\n" if $end;
but only in the if BLOCK, of course (lexical scope for the variables).

Replies are listed 'Best First'.
Re^3: Flipin good, or a total flop?
by ysth (Canon) on Jan 26, 2006 at 03:25 UTC
    I'm pretty sure that works the same way
    my $i = 13 if $expr;
    does, and is not to be trusted to continue to do what you mean.

    No, maybe I'm wrong. Hmm.

    Update: as long as you don't modify $start or $end except in cases where they were already set, I think you can count on this continuing to work, even if the my $foo if bar thing is "fixed". But I'd expect that if a warning is added for the my $foo if bar thing, that you'd get the warning with your code also.

      bar() if my $foo;
      is different from
      my $foo if bar(); # don't do this!

      The first case is equivalent to

      if (my $foo) { # $foo is lexically scoped to this block bar(); }
      just like how
      for my $foo (@foo) { # $foo is lexically scoped to this block baz(); }

      So if ((my $start =~ /start/) .. (my $end =~ /end/)) is perfectly happy.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://525583]
help
Chatterbox?
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (10)
As of 2016-12-05 13:49 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    On a regular basis, I'm most likely to spy upon:













    Results (82 votes). Check out past polls.