Forum Webscript.Ru
Программирование => Perl => Тема начата: DartSidius от 21 Октября 2010, 15:13:29
-
Требуется передать в функцию строковую переменную и хэш
делаю так
Func($string,%hash);
sub Func {
my ($str,%h) = @_;
}
Странно то, что в переданый %h попадает и значение $str...
-
#!/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
хз даже почему у вас такой результат
-
смотря как вызывать...
-
Функция находится в отдельном фале Hash.pm
Вызывается так $result = Hash::Func($str,%hash);