
my %hash = @_
物孝 print "罩纯稿$_ => $hash{$_}$/" foreach keys %hash
}
my %h = ( A => 100, B => 200, C 裤返=> 300 )
test(%h)
当然可以了。事实上perl可正竖肢以返回任意类型举世的参数。需要注意的是,如果同时返回多个参数,可能需要使用\来将返回“变成”一个$类型。调用者使用$取到返回后,再变回原类型。比如:
($a,$b) = &ssss
@a = $a
sub ssss
{
@array = (1,2,3)
$value = "abc"
return (\纤圆@array, $value)
}
疑问1:布尔上下文特殊在那里?它特别在不同於eq,ne,==,!=那样,只会返回1或undef,它会返回一个"乎陵毁能对应当前正在访问的数据型态"的"有内容的值"或"空值",以array来说汪早,空值就是(),以hash来说空值就是(undef,undef)疑问2:我仿照上面的代码做了以下验证,结果我以无法按我的思维解释,求高手点播。那你的思维是怎样的?其实你写岁备的if((.))这样的结构也无异於$x = ( 1, 2, 3)$y = ( 4, 5, undef)print "'$x' '$y'"结果只有最後一个值起了作用,你写的在if中并没有被当成@list = ( ) print "Hello World" if ( @list ) 这样来处理欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)