perl 二维数组使用push后数组中始终都是最后插入的数组?
答案:2 悬赏:60 手机版
解决时间 2021-12-01 06:37
- 提问者网友:富士山上尢
- 2021-11-30 23:06
perl 二维数组使用push后数组中始终都是最后插入的数组?
最佳答案
- 五星知识达人网友:拜訪者
- 2021-11-30 23:46
push(@array_word,\@Words);#将一维数组插入二维数组
这里不能插入引用,而应该插入拷贝
push(@array_word,[@Words]);
这里不能插入引用,而应该插入拷贝
push(@array_word,[@Words]);
全部回答
- 1楼网友:雾月
- 2021-12-01 00:56
file.txt
--------------------------------------
这s里g的d打印e结
果都是一样,都是最后
一次插入的一f维数组。请问是不是我
把插入的语法写g错了,或者g是我在定义二
维数组的a时候
就f错了a?非常g感谢!
push.pl
-------------------------------------
#push.pl
open In,'<',"file.txt";
$i=0;
my @array_word=();
while(){
chomp;
my ($s,$w,@Words)=();
my @W=/([\x80-\xff]+)/g;
$s .= $_ for @W;
for(0..(length($s)/3)){
$w=substr($s,$_*3,3);
push @Words,$w;
}
push @array_word,\@Words;
$i++;
}
print "${$array_word[0]}[0]\n";#打印第一个插入的
print "${$array_word[0]}[1]\n";
print "${$array_word[0]}[2]\n";
print "="x12,"\n";
print "${$array_word[$i-1]}[0]\n";#打印最后一个插入的
print "${$array_word[$i-1]}[1]\n";
print "${$array_word[$i-1]}[2]\n";
===================
perl push.pl
这
里
的
============
就
错
了
--------------------------------------
这s里g的d打印e结
果都是一样,都是最后
一次插入的一f维数组。请问是不是我
把插入的语法写g错了,或者g是我在定义二
维数组的a时候
就f错了a?非常g感谢!
push.pl
-------------------------------------
#push.pl
open In,'<',"file.txt";
$i=0;
my @array_word=();
while(
chomp;
my ($s,$w,@Words)=();
my @W=/([\x80-\xff]+)/g;
$s .= $_ for @W;
for(0..(length($s)/3)){
$w=substr($s,$_*3,3);
push @Words,$w;
}
push @array_word,\@Words;
$i++;
}
print "${$array_word[0]}[0]\n";#打印第一个插入的
print "${$array_word[0]}[1]\n";
print "${$array_word[0]}[2]\n";
print "="x12,"\n";
print "${$array_word[$i-1]}[0]\n";#打印最后一个插入的
print "${$array_word[$i-1]}[1]\n";
print "${$array_word[$i-1]}[2]\n";
===================
perl push.pl
这
里
的
============
就
错
了
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯