Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number
 
PerlMonks  

Re^5: use 'local' modifier to hashref element

by shmem (Canon)
on Jun 06, 2013 at 13:56 UTC ( #1037456=note: print w/ replies, xml ) Need Help??


in reply to Re^4: use 'local' modifier to hashref element
in thread use 'local' modifier to hashref element

... complains that you "Can't localize lexical variable @array", but it has no problem localizing $hash{foo}.

It has no problem localizing the value of an array element, either:

my %hash; my @array; { local $hash{foo} = 'bar'; local $array[1] = 'foo'; print "inner scope:\n"; print "$_ => $hash{$_}\n" for keys %hash; print "[$_] $array[$_]\n" for 0..$#array; } print "outer scope:\n"; print "$_ => $hash{$_}\n" for keys %hash; print "[$_] $array[$_]\n" for 0..$#array; __END__ inner scope: foo => bar [0] [1] foo outer scope:

Were you trying to localize the entire hash - as you did with @array - perl would complain also:

Can't localize lexical variable %hash at foo line x.
perl -le'print map{pack c,($-++?1:13)+ord}split//,ESEL'


Comment on Re^5: use 'local' modifier to hashref element
Select or Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (13)
As of 2015-07-07 15:28 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (90 votes), past polls