in reply to how to declare a local *subname=sub{}?
#!/usr/bin/perl use strict; use warnings; # dispatch table... # my %table = ('x'=>\&ABC, 'y'=> sub {print "Anon sub for key 'y' in table\n";} ); sub ABC{print "sub ABC called\n";}; # call routines in the dispatch table... $table{'x'}->(); # prints: "sub ABC called" $table{'y'}->(); # prints: "Anon sub for key 'y' in table" # local can only "mask" an "our" or a global variable, like # perhaps as in the common idiom: # my $file = do { local $/; <FILE> }; # which "slurps" an entire file into the $file variable.<br> # A "my" variable cannot be "localized" our $xyzzy = 33; { local $xyzzy = 55; print "$xyzzy\n"; #prints 55 } print "$xyzzy\n"; #prints 33
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: how to declare a local *subname=sub{}?
by AnomalousMonk (Archbishop) on Oct 31, 2016 at 05:24 UTC | |
by Marshall (Canon) on Oct 31, 2016 at 06:27 UTC |