Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses

Re^3: sub that sets $_

by Animator (Hermit)
on Jun 28, 2005 at 12:54 UTC ( #470608=note: print w/replies, xml ) Need Help??

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

First of all congratulations with the excelent idea to use DESTROY to set $_.

Second, it still has a little bug though... it will set the value of $_ when the object gets destroyed... which is why it works and why it is bugged. Example:

$_ = "abc"; { my $line = $reader->chunk(); } print $_;
$_ won't have the value "abc"...

Update: since I'm not that familiar with overloading I re-looked at the overload pod... (to see if there is a function that is always called, so that the DESTROY could be made conditional/optional). In it I found an intresting overload option.

You can overload <>. This would mean that you can overload it in your main module and use <$reader>. Which will set the appropriate variable. (Using < $reader->chunk > is not possible since it is a syntax error. You could ofcourse assign it to a temp var and use that but what would be wrong with using <$reader>?)

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://470608]
and the fog begins to lift...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (8)
As of 2018-04-19 16:20 GMT
Find Nodes?
    Voting Booth?