Forum Webscript.Ru

Программирование => Perl => Тема начата: DartSidius от 21 Октября 2010, 15:13:29

Название: Передача параметров в функцию...
Отправлено: DartSidius от 21 Октября 2010, 15:13:29
Требуется передать в функцию строковую переменную и хэш

делаю так

Func($string,%hash);


sub Func {
my ($str,%h) = @_;
}

Странно то, что в переданый %h попадает и значение $str...
Название: Передача параметров в функцию...
Отправлено: 09h от 22 Октября 2010, 11:28:55
#!/usr/bin/perl -wT

use CGI::Carp qw/fatalsToBrowser warningsToBrowser/;

print "Content-type: text/html\\n\\n";

$aaa = "blabla";

$bbb{\'qwe\'} = "qqq123";
$bbb{\'asd\'} = "aaa456";


&test($aaa,%bbb);



sub test() {

my ($str,%h) = @_;

print "\\$str = $str
\\n";

foreach $temp (keys %h) {
print "\\$h{$temp} = $h{$temp}
\\n";
}

}


выводит

$str = blabla
$h{asd} = aaa456
$h{qwe} = qqq123

хз даже почему у вас такой результат
Название: Передача параметров в функцию...
Отправлено: arto от 22 Октября 2010, 22:38:41
смотря как вызывать...
Название: Передача параметров в функцию...
Отправлено: DartSidius от 26 Октября 2010, 05:33:29
Функция находится в отдельном фале Hash.pm

Вызывается так $result = Hash::Func($str,%hash);