Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.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/6/entity-framework/4.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_Perl Data Structures - Fatal编程技术网

在循环Perl中打印二维数组

在循环Perl中打印二维数组,perl,perl-data-structures,Perl,Perl Data Structures,以下是我将数据附加到数组中的方式: push @cordinate_and_link, ($cordinate , $link); 因此,如果我打印@cordinate\u和\u link,我会得到如下结果: 172193 1 19601 2 14835 3 4758 4 ... 我希望有一个循环,它只能循环第一列[0]并生成所有值 这就是我一直在尝试的: foreach my $cordinate ( $cordinate_and_link[0]) { print

以下是我将数据附加到数组中的方式:

push @cordinate_and_link, ($cordinate , $link); 
因此,如果我打印@cordinate\u和\u link,我会得到如下结果:

172193 1 19601 2 14835 3 4758 4 ...
我希望有一个循环,它只能循环第一列[0]并生成所有值

这就是我一直在尝试的:

foreach my $cordinate ( $cordinate_and_link[0]) {
            print "$cordinate";
        } 

但此语句仅打印行“4758”中的最后一个值,打印次数与循环运行次数相同。

您当前正在将两个值添加到相邻的
@cordinate\u和\u link
,它们不在单独的列中。为了明确它们在两个不同的列中,我们推送一个匿名arrayref
[…]

push @cordinate_and_link, [$cordinate , $link]; 
paren
()
不在Perl中创建数组或元组

稍后,我们可以循环所有行,只打印每行的第一列:

foreach my $cordinate (@cordinate_and_link) {
    print $cordinate->[0];
} 

您当前正在将两个值添加到相邻的
@cordinate\u和\u link
,它们不在单独的列中。为了明确它们在两个不同的列中,我们推送一个匿名arrayref
[…]

push @cordinate_and_link, [$cordinate , $link]; 
paren
()
不在Perl中创建数组或元组

稍后,我们可以循环所有行,只打印每行的第一列:

foreach my $cordinate (@cordinate_and_link) {
    print $cordinate->[0];
} 

文章中的代码将列表展平为一维数组:

push @coordinate_and_link, ($coordinate , $link);
这将需要行主顺序表达式才能在“列0”处获取

我想你想要这个:

push @coordinate_and_link, [$coordinate, $link];
在这种情况下,您可以像这样对其进行迭代:

for my $row (@coordinate_and_link) {
    print "$row->[0]\n";
}
您可以通过多种方式迭代该结构,这只是其中之一


编辑:修正打字错误。

您帖子中的代码将您的列表展平为一维数组:

push @coordinate_and_link, ($coordinate , $link);
这将需要行主顺序表达式才能在“列0”处获取

我想你想要这个:

push @coordinate_and_link, [$coordinate, $link];
在这种情况下,您可以像这样对其进行迭代:

for my $row (@coordinate_and_link) {
    print "$row->[0]\n";
}
您可以通过多种方式迭代该结构,这只是其中之一


编辑:修正输入错误。

您希望输出什么数字?@mpapec第一个数字,在我的例子中是17219319601148354758。这是科迪酸盐。不要打印链接。你想要输出什么数字?@mpapec第一个,在我的例子中是17219319601148354758。这是科迪酸盐。不要打印链接。我以前尝试过,但没有效果:“全局符号“@cordinate”要求在文件名“@mpapec”处有明确的包名。在访问
$cordinate
中的列时,您忘记了
->
。我还加了一些explanations@amontnx,我打字没有你快。:)@谢谢。除了省略的->之外,您的代码正常工作。我给你们投票,马克·阿蒙作为答案,因为他给出了一些解释。你就是答案。感谢添加的建议,amonI以前尝试过,但没有成功:“全局符号“@cordinate”要求在文件名“@mpapec”处有明确的包名。在访问
$cordinate
中的列时,您忘记了
->
。我还加了一些explanations@amontnx,我打字没有你快。:)@谢谢。除了省略的->之外,您的代码正常工作。我给你们投票,马克·阿蒙作为答案,因为他给出了一些解释。你就是答案。阿蒙,谢谢你的建议