#!/usr/bin/perl -- use strict; use warnings; Main(@ARGV); exit(0); sub Main { my $package = __PACKAGE__; my $stash = do { no strict 'refs'; \%{ $package . '::' } }; print "$package\n$stash\n"; for my $symbol ( keys %$stash ) { next unless $symbol =~ /^func_/; print "\t$symbol\n"; #~ my $coderef = $package->can( $symbol ); # method/@ISA #~ my $coderef = *{ $stash->{$symbol} }{CODE}; my $coderef = \&{ $stash->{$symbol} }; print "\t$coderef\n\t\t", $coderef->(), "\n"; } ## end for my $symbol ( keys %$stash) } ## end sub Main sub func_a_1 { "A 1" } sub func_a_2 { "A 2" } sub func_b_1 { "B 1" } sub func_b_2 { "B 2" } __END__ main HASH(0x3f8b4c) func_a_1 CODE(0x9ad2c4) A 1 func_b_2 CODE(0x9d89fc) B 2 func_a_2 CODE(0x9ad474) A 2 func_b_1 CODE(0x9d898c) B 1
In reply to Re^2: Dynamic functions
by Anonymous Monk
in thread Dynamic functions
by himik
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |