in reply to Re^6: How to call a sub reff from a hash
in thread How to call a sub ref from a hash

$Parameter is not a hash element it is an argument to the procedure reference stored in the hash.

I know. I didn't use ->{}. I used ->() which calls the referenced sub.

I'm sorry but that doesn't work either

Yes it does.

#!/usr/bin/perl use strict; use warnings; sub Procedure_Name_1 { my($Parm) = shift; print($Parm); } my %Procedures; $Procedures{'ProcName1'} = \&Procedure_Name_1; my $Procedure = 'ProcName1'; my $Parameter = 'Some Value'; $Procedures{$Procedure}->($Parameter);
>perl 730516.pl Some Value

Replies are listed 'Best First'.
Re^8: How to call a sub reff from a hash
by NateTut (Deacon) on Dec 16, 2008 at 04:49 UTC
    I apologize you are right of course, I must have copied wrong before. The real problem here is that I'm not understanding the syntax. Thanks for all the help.

      I'm not understanding the syntax

      ThisCan be written more clearly as
      ${$aref}[$i]$aref->[$i]
      ${$href}{$k}$href->{$k}
      &{$cref}($arg)$cref->($arg)

      In this case, the code ref is stored in a hash, so $cref is a hash lookup.

      my $cref = $hash{$k}; $cref->($arg) | v ( $hash{$k} )->($arg); | v $hash{$k}->($arg);
        Thank you that helped clear up my misunderstanding.