#!/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
In reply to Re: how to declare a local *subname=sub{}?
by Marshall
in thread how to declare a local *subname=sub{}?
by perl-diddler
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |