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

Re^3: sub that sets $_

by TheDamian (Priest)
on Jun 29, 2005 at 00:04 UTC ( #470878=note: print w/replies, xml ) Need Help??


in reply to Re^2: sub that sets $_
in thread sub that sets $_

Which means that while ($z = prompt "") { will set $_ and $z. This is a bad idea. What if the code is used in an inner loop? when the outer loop uses $_ for example?
Yes, that is a nuisance. I'm working on overcoming that problem, but it's difficult: Perl never quite gives you enough context information to detect the assignment. :-(

Replies are listed 'Best First'.
Re^4: sub that sets $_
by TheDamian (Priest) on Jun 29, 2005 at 00:54 UTC
    On further investigation, it appears that you can tell the two contexts apart using the Want module. Specifically, want('BOOL') knows the difference. For example:
    my $flipflop = 0; sub foo { use Want qw(want); print 'not ' if !want 'BOOL'; print "bool\n"; return $flipflop=!$flipflop; # alternate true and false } for (1..3) { while (foo() ) { # print "here 1\n"; } while ($answer = foo() ) { # print "here 2\n"; } }

    Unfortunately, under 5.8.3 I get bus errors if there I uncomment the print statements, or if there is anything in the while blocks. :-(

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://470878]
help
Chatterbox?
[erix]: that's a good one. I must remember that :P
[stevieb]: I really dislike how perlbrew doesn't list your version of perl if a newer minor version bump has happened. eg: I use 5.24.1, but 5.24.2 is available, hiding my 5.24.1. I may look at this, as I made it display correctly in berrybrew in cases like this
[stevieb]: choroba just gleaned your post about Module::Starter. I use it too, pretty much for every dist I write

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (6)
As of 2017-08-18 20:48 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Who is your favorite scientist and why?



























    Results (310 votes). Check out past polls.

    Notices?