我对 Perl 很陌生,需要你的帮助
我有一个xyz.csv
包含内容的 CSV 文件:
这里 level1 和 er 值是字符串名称...不是数字...
level1,er
level2,er2
level3,er3
level4,er4
我使用下面的脚本解析这个 CSV 文件,并在第一次运行时将这些字段传递给一个数组
open(my $d, '<', $file) or die "Could not open '$file' $!\n";
while (my $line = <$d>) {
chomp $line;
my @data = split "," , $line;
@XYX = ( [ "$data[0]", "$data[1]" ], );
}
对于第二次运行,我从命令提示符获取输入并存储在变量中$val
。我的程序应该从存储在变量中的值解析 CSV 文件,直到它到达文件末尾
例如
我输入level2
,所以我需要一个脚本来解析从第二行到 CSV 文件的末尾,忽略文件中之前的值level2
,并将这些值 ( level2
to level4
) 传递给@XYX = (["$data[1]","$data[1]"],);}
level2,er2
level3,er3
level4,er4
我输入level3
,所以我需要一个脚本来从第三行解析到 CSV 文件的末尾,忽略文件中之前的值level3
,并将这些值(level3
和level4
)传递给@XYX = (["$data[0]","$data[1]"],);}
level3,er3
level4,er4
我该如何做到这一点?请务必提出您宝贵的建议。我感谢您的帮助