楼主: 
kuangs (kuangs)   
2012-12-13 09:06:12或许是我描述的不够完全
     我原本是想产生 list=1
                    list=2
                    list=3
                    list=4
                    list=5
     但实际上是产生 list=5
                    list=5
                    list=5
                    list=5
                    list=5
※ 引述《clanguage (C语言)》之铭言:
:  不好意思 从你的 code 看不出要干嘛..
:  这样子好吗ꀠ把资料都放进 newlist 然后
:  $targetdomain->{list} 存 newlist ref
:  最后解参考 $targetdomain->{list} 印出你的 12345
:   1 #!/usr/bin/perl
:   2
:   3     @listref = (1,2,3,4,5);
:   4
:   5     foreach my $bb ( @listref )
:   6     {
:   7         push( @newlist, $bb );
:   8     }
:   9     $targetdomain->{list}=\@newlist;
:  10     print @{ $targetdomain->{list} };
:  11
: ※ 引述《kuangs (kuangs)》之铭言:
: : 大家好
: :      目前小弟遇到一个问题
: :      假设我的资料
: :     @listref= 1,2,3,4,5,6
: :     foreach my $bb ( @listref )
: :     {
: :         $newlist{list}=$bb;
: :         push( @newlist, \%newlist);
: :     }
: :     $targetdomain->{list}=\@newlist;
: :     print $targetdomain;
: :     印出来的结果
: :          我想要的应该是 1 2 3 4 5
: :          实际上却是 5 5 5 5 5
: :     我知道原因出在哪 应该是参考变量的问题
: :     五个资料都是参考同一个%newlist
: :     而最后一个输入的数值为5
: :     所以才会印出 五个5
: :     但是我却不知怎么解决!! 请各位高手帮帮忙!!
作者: qulqul (飘)   2012-02-13 14:24:00
推楼上!print join("\t",1,2,3,4,5),"\n";  <-降勒XD~