- 論壇徽章:
- 0
|
本帖最后由 justu78 于 2014-01-04 00:13 編輯
我最近在寫一個子程序,需要在循環(huán)中返回很多次同一個my申明的變量的引用,我發(fā)現(xiàn)用\@xx,這樣返回后在主程序中得到的只是最后一個引用,除非用[@xx]這樣的匿名數(shù)組引用返回才是想要的,我不太清楚其中的理論依據(jù),請高手指教。請不要說有別的辦法完成類似的任務(wù),我只是想學習其中的原因。謝謝。下面是我準備的一個簡單例子:
#!/bin/sh
eval 'exec perl -S -x -W $0 ${1+"$@"}'
#!perl
$\="\n";
$,=" ";
@ttt=&ttt;
print @ttt;
foreach (@ttt){
@tou=@{$_};
print @tou;
}
sub ttt {
#use strict;
my(@xx,$i,@yy);
for($i=0;$i<=10;$i++){
@xx=();
push(@xx,$i**3);
push(@xx,$i**3+$i**0.6);
######here is the option###########
push(@yy,\@xx);
#push(@yy,[@xx]);
}
return(@yy);
}
只有使用 push(@yy,[@xx]) 才能得到正確的結(jié)果,用push(@yy,\@xx)不行。 |
|