[問題] 請問傳array到sub的問題

看板Perl作者 (ppkliu)時間19年前 (2006/06/29 17:00), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/2 (看更多)
我寫了如下的程式,想將一個array傳到sub當中 可是一直出現這樣的error message Can't coerce array into hash at XX.pl at line 49 sub Findfun #find call function in proc { my $i; #array index my $gotthis; #got 'call' in this proc my $inproc; #got procedure name my ($array_ref,$Fname1) = @_; #pass array reference $gotthis=0; $inproc=0; foreach (@$array_ref)#@CRT2ASM) { #這樣不是等同使用 $array[$i] if($array_ref->{$i} =~ /$Fname1.*proc.*near/s) #->{$i} {$gotthis++; $inproc++; print "In CRT2.ASM \n"; print "$i $CRT2ASM[$i]\n"; } #Fname proc near elsif(($inproc==1)&&($array_ref->{$i} =~ /.*call/)) {print "$i $CRT2ASM[$i]\n"; } elsif($array_ref->{$i} =~ /$Fname1.*endp/s) {$inproc=0;print "$i $CRT2ASM[$i]\n";} #Fname endp $i++; } } &Findfun(\@CRT2ASM,$Fname); -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.66.19.129

06/30 00:06, , 1F
改用 $array_ref->[$i] 試試看,[] 和 {} 差很多
06/30 00:06, 1F
文章代碼(AID): #14evQNey (Perl)
討論串 (同標題文章)
文章代碼(AID): #14evQNey (Perl)