[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