大家好 我有一个带有sub的模块,它可以从例如script.pl 在script.pl中,我以这种方式调用函数moduleName :: sunName(\%hashref) 现在在模块中,在子体中我想打印那些传递的参数。另外我想检查这个href的每个键的值是否为空打印' - '而不是0。 模块的第一部分:
sub printOptions {
my $opt = shift;
# I have this
print $opt->{'id'};
# But I need all parameters!
}
感谢
答案 0 :(得分:2)
%opt = %{ $opt }
要迭代按键,您可以执行
for my $key ( sort keys %opt ) {
print "$key: " . ($opt{ $key } || '-') . "\n";
}
答案 1 :(得分:2)
尝试:
sub printOptions {
my $opt = shift @_;
for my $key ( sort keys %$opt ){
if( defined( $opt->{$key} )){
print "$key: $opt->{$key}\n";
}else{
print "$key: undef\n";
}
}
}