我有这个脚本
open (DICT,'file 0 .csv');
my @dictio = <DICT>;
chomp @dictio;
print @dictio;
我的文件 0 .csv 是这样的:
AAAA , a
AAAT , b
AAAC , c
所以使用 chomp 我想删除新的行字符,但是当我打印它时,我的数组消失了。当我在不使用 chomp 的情况下打印数组时,它会像最初的文件一样打印。
那么我在命令 chomp 上做错了什么?
谢谢
open (my $DICT, '<', 'file 0 .csv') or die "cannot open file ";
while ( my $line = <$DICT> ) {
chomp $line;
my @line = split( ',' , $line );
}
close($DICT);
您当前的代码将整个文件读入一个数组。我认为这样做时会啜饮。结果,您的 chomp 没有达到您的预期。Chomp 通常与标量变量一起使用,就像我在上面使用的那样,以切断每行中的 '\n'。
我上面编写的代码将您的文件逐行读取到我选择调用@line 的数组中,该数组包含文件当前行的每个字段。这允许您一次处理一行。
尝试这个
open (my $DICT, '<', 'file 0 .csv') or die "cannot open file ";
my @dictio = <$DICT>;
chomp @dictio;
print @dictio;