LINUX.ORG.RU

Perl. Передача аргументов в функцию по имени


0

0

Подскажите пожалуйста, как реализовать subj в перле? Т.е. нужно написать функцию в которую аргументы передаются по имени например some_function( -some_arg=>"value" ). Как внутри sub some_function{} получить значение $some_arg?

★★

Re: Perl. Передача аргументов в функцию по имени

sub foo
{
    ( %bar, @etc ) = @_;
    print $bar{'foo'}, "\n";
}

foo( 'foo' => "bar" );

??

Anoxemian ★★★★★ ()

Re: Perl. Передача аргументов в функцию по имени

#!/usr/bin/perl

sub display_hash
{
   my (%hash) = @_;
   foreach (keys %hash)
   {
      print "$_ => $hash{$_}\n";
   }
}

display_hash( 'olo' => 'Scuko', 'ololo' => 'sCuko')

hizel ★★★★★ ()

Re: Perl. Передача аргументов в функцию по имени

Спасибо, так тоже пойдет, правда я думал есть какойто стандартный метод, например как в header в CGI /:standard/;

sub header {
my($self,@p) = self_or_default(@_);
my(@header);
...
my($type,$status,$cookie,$target,$expires,$nph,$charset,$attachment,$p3p,@other ) =.
rearrange([['TYPE','CONTENT_TYPE','CONTENT-TYPE'],
'STATUS',['COOKIE','COOKIES'],'TARGET',
'EXPIRES','NPH','CHARSET',
'ATTACHMENT','P3P'],@p);
...
Но как это работает, я не понял:)

Delay ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.