[Moscow.pm] function ref

Dmitry Karpich meettya на gmail.com
Чт Дек 29 03:03:09 PST 2011


Потому что 

my $ref_sub1=sub {print 'By '. $_[0] };
sub temop_sub{ print 'Hi '. $_[0] };
my $ref_sub=\&temop_sub; # !!!!! ссылка на sub а не ссылка на ее результат

$ref_sub->(); # так - лучше всего

&{$ref_sub1};

Михаил, у вас же есть подписанная Larry книга, почитайте ее :)

Митяй

On Dec 29, 2011, at 12:48 PM, Nikolay Mishin wrote:

> Hi MoscowPM
> 
> my $ref_sub1=sub {print 'By '. $_[0] };
> sub temop_sub{ print 'Hi '. $_[0] };
> my $ref_sub=\&temop_sub();
> $$ref_sub;
> &$ref_sub;
> Not a CODE reference at 11_sub_ref.pl line 5.
> &{$ref_sub1};
> 
> почему так?
> почему я не могу вызывать именованную процедуру
> &{$ref_sub1}; ??
> ведь вызывать ссылку на код с помощью 
> & - лучше, чем с помощью $
> здесь явно показывается, что вызывается процедура
> 
> Спасибо.
> --
> Nikolay Mishin
> -- 
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org



Подробная информация о списке рассылки Moscow-pm