[英]How do I pass parameters to a subroutine?
我在理解子例程語法時遇到了困難。
使用以下代碼:
sub build_dyne_file{
open(DYNAP, "+>$veri_dir/$dyna_para") or die $!;
for (keys %hash){
print DYNAP "#define ",$_," ",$hash{$_}->[$i],"\n";
}
close(DYNAP);
}
for (my $i = 0 ; $i <$TEST_QUOTA ; $i++){
build_dyna_file($i);
}
在“ build dyne文件”子例程中,“ for循環”遍歷哈希鍵,而$ i參數在外部“ for循環”內部使用。
希望您能理解問題,如果沒有,我會盡力解釋。
謝謝你的回答。
您需要在子例程中獲取$i
參數:
sub build_dyne_file
{
open(DYNAP, "+>$veri_dir/$dyna_para") or die $!;
# the crucial omission...
my $i = shift;
for (keys %hash){
print DYNAP "#define ",$_," ",$hash{$_}->[$i],"\n";
}
close(DYNAP);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.