Meise2000: Dereferenzierung von Subroutinen

Beitrag lesen

Hallo zusammen,

ich habe folgende Subroutine:

  
sub getMyHash {  
  my %hash = (  
    'key1' => \&_handleKey1,  
    'key2' => \&_handleKey2,  
    'key3' => \&_handleKey3  
  );  
  return \%hash;  
)  

Für meinen Unit-Test möchte ich nun gerne wissen, ob ich für jeden Key auch auf die richtige Subroutine gemapt hat.

  
sub test_Mapping {  
  my ($this) = @_;  
  my $hashRef = mypackage::getMyHash();  
  $this->assert_equals('HASH', ref($hashRef));  
  $this->assert_equals('_handleKey1', &{$hashRef->{'key1'}});  
}  

Leider funktioniert das natürlich nicht. Wie komme ich an den Namen der Subroutine ran?

Gruß,
Meise.