Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Re^3: Yet more Try::Tiny problelms

by Anonymous Monk
on May 19, 2013 at 17:43 UTC ( [id://1034234]=note: print w/replies, xml ) Need Help??


in reply to Re^2: Yet more Try::Tiny problelms
in thread Yet more Try::Tiny problelms

:) happens in v5.16.1 also, but if you search Try::Tiny for $_ this caveat is described but real solution is not

I found this thread I participated in Lexical $_ in given/when vs. BLOCK arguments which had the real solution, because I ran into similar nonsense before :)

#!/usr/bin/perl -- use feature qw (switch); use Try::Tiny; my $uv; given (17) { when (3) { print "three\n"; }; when (17) { #~ local $_; # grr Can't localize lexical variable $_ #~ my $_; ## doesn't help, Try::Tiny code is using global $_ #~ local *_; ## doesn't help , here $_ refers to lexical $_ our $_; # THIS HELPS try { print "In try block\n"; die( "Substitute undefined variable $uv\n"); print "Still in try block\n"; } catch { print "We caught global \$@ = $@\n"; print "We caught lexical \$_ = $_\n"; print "We caught global \$::_ = $::_\n"; print "We caught global \$_[0] = $_[0]\n"; }; } } __END__ In try block We caught global $@ = We caught lexical $_ = Substitute undefined variable We caught global $::_ = Substitute undefined variable We caught global $_[0] = Substitute undefined variable

So summary, local $_ should NOT die but work just like our $_ inside given/when

Try::Tiny documentation should lead with $::_

I still don't think in terms of given/when -- well I do, but I spell it if/else/unless :D

Replies are listed 'Best First'.
Re^4: Yet more Try::Tiny problelms
by Anonymous Monk on May 19, 2013 at 19:52 UTC

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others perusing the Monastery: (4)
As of 2024-03-29 11:08 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found