[Moscow.pm] function ref
Nikolay Mishin
mi на ya.ru
Чт Дек 29 02:10:33 PST 2011
просто в выражении
sub create_index{
my ($fh, $idx_file)=@_;
print "create index func\n";
}
my $index_func_name=\&create_index();
$$index_func_name->( $fh, $idx_file );
логичнее было бы
&$index_func_name->( $fh, $idx_file );
а то код не очень читаемый получается
29.12.2011, 13:48, "Nikolay Mishin" <mi на ya.ru>:
> 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
--
Nikolay Mishin
Подробная информация о списке рассылки Moscow-pm