On Wed, Jun 18, 2008 at 20:02, Richard Lee <[EMAIL PROTECTED]> wrote:
> trying to understand closure and callback(bit over my head but)
>
> while I think i grasp most of the ideas from below program.. I don't think I
> understand why ( ) is needed in
>
> my $sum = $subs{$_}{GETTER}->( );
snip
You need them because $subs{$_}{GETTER} is code reference. If you said
my $sum = $subs{$_}{GETTER};
then $sum would be the same reference. ->() is one of the ways you
can deference (i.e. call) a code reference. You could also say
my $sum = &{$subs{$_}{GETTER}};
but ->() is more modern. You can also ditch the -> operator in
expressions like this one for the same reason you can ditch it with
other nested references, but many people would probably get annoyed
with you:
my $sum = $subs{$_}{GETTER}( );
--
Chas. Owens
wonkden.net
The most important skill a programmer can have is the ability to read.
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/