Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl 使用拼接修改数组内容_Perl - Fatal编程技术网

Perl 使用拼接修改数组内容

Perl 使用拼接修改数组内容,perl,Perl,我正在尝试编写一个脚本,该脚本使用splice函数在特定数组位置插入“1”,打印它,然后在同一位置插入“0”。到目前为止,我的逻辑是: my @array = (0) x 4096; for ($j=0;$j<3;$j++) { splice ( @array, $array[$j],1,1); print "$j---$array[$j]\n"; splice ( @array, $array[$j],1,0 ); } my@array=(0)x4096; 对于($j=0;$j我认为你

我正在尝试编写一个脚本,该脚本使用splice函数在特定数组位置插入“1”,打印它,然后在同一位置插入“0”。到目前为止,我的逻辑是:

my @array = (0) x 4096;
for ($j=0;$j<3;$j++) {
splice ( @array, $array[$j],1,1);
print "$j---$array[$j]\n";
splice ( @array, $array[$j],1,0 );
}
my@array=(0)x4096;

对于($j=0;$j我认为你不需要
splice
来做你想做的事。只需要一个简单的任务:

use warnings;
use strict;

my @array = (0) x 4096;
for (my $j = 0 ; $j < 3 ; $j++ ) {
    $array[$j] = 1;
    print "$j---$array[$j]\n";
    $array[$j] = 0;
}

__END__

0---1
1---1
2---1

splice
需要索引而不是元素:

splice ( @array, $j,1,1);
在您的例子中,您将
0
(元素值)作为索引传递,以便它在开头插入一个元素。但是用单个元素替换单个元素最好通过简单赋值来完成

splice ( @array, $j,1,1);