Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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
Arrays Perl中一个文件中的多个数组_Arrays_Perl - Fatal编程技术网

Arrays Perl中一个文件中的多个数组

Arrays Perl中一个文件中的多个数组,arrays,perl,Arrays,Perl,因此,我希望我的perl文件读取一个包含两行的文件: 1 10 4 6 4 我希望第一行是@setA,第二行是@setB。如何在不硬编码的情况下执行此操作?您可以打开文件以获取所谓的文件句柄(通常命名为$fh),读取内容,然后关闭文件句柄。这样做需要打电话,然后 注意:readline还有一种特殊的语法,如。阅读台词通常遵循成语: while ( <$fh> ) { # the line is in the $_ variable now } while(){ #该行现在

因此,我希望我的perl文件读取一个包含两行的文件:

1 10 4
6 4

我希望第一行是@setA,第二行是@setB。如何在不硬编码的情况下执行此操作?

您可以打开文件以获取所谓的文件句柄(通常命名为
$fh
),读取内容,然后关闭文件句柄。这样做需要打电话,然后

注意:readline还有一种特殊的语法,如
。阅读台词通常遵循成语:

while ( <$fh> ) {
    # the line is in the $_ variable now
}
while(){
#该行现在位于$变量中
}
然后,为了解决每一条线,你会使用

另一个偶尔有用的是

这应该可以让你开始了。

使用strict;
use strict;
use warnings;
use autodie qw(:all);

open my $file, '<', 'file.txt';

my @lines = <$file>;
my @setA = $lines[0];
my @setB = $lines[1];

print("@setA");
print("@setB");

close $file;
使用警告; 使用autodie qw(:全部); 打开我的$file,“
my$setA=;#"1 10 4"
我的$setB=#"6 4"

my@setA=split',scalar();#( 1, 10, 4 )
my@setB=split',scalar();#( 6, 4 )

到目前为止,您有哪些产品,为什么不适合您的需要?如果只有两行代码,那么硬编码似乎并不太糟糕。你想解决什么问题?我需要对不同的数组进行比较,因为最终我必须对它们进行比较。你没有回答你所尝试的内容…当我开始学习perl时,我只读了一本关于它的小书(不是经典的lama书)。这是mmm的第一个任务。哇!你想在这里写什么?首先:不要使用
file
作为文件处理程序,使用
IO
或词法
$filehandler
。第二:使用
,但它有效:)1:我是Perl新手,他的代码很简单。2:好的。3:我认为这种方式更适合阅读。4:最后是菱形,等待用户按键。在我的情况下,双击文件运行:)谢谢更正。我没有说,它会掉下来:)还可以使用
取消移位/移位
推/弹出
功能来管理阵列
my $setA = <$fh>;   # "1 10 4"
my $setB = <$fh>;   # "6 4"
my @setA = split ' ', scalar(<$fh>);   # ( 1, 10, 4 )
my @setB = split ' ', scalar(<$fh>);   # ( 6, 4 )