1

我有这个脚本

open (DICT,'file 0 .csv'); 

my @dictio = <DICT>;
chomp @dictio;
print @dictio;

我的文件 0 .csv 是这样的:

AAAA , a
AAAT , b
AAAC , c

所以使用 chomp 我想删除新的行字符,但是当我打印它时,我的数组消失了。当我在不使用 chomp 的情况下打印数组时,它会像最初的文件一样打印。

那么我在命令 chomp 上做错了什么?

谢谢

4

2 回答 2

0
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 的数组中,该数组包含文件当前行的每个字段。这允许您一次处理一行。

于 2013-11-06T15:03:01.347 回答
0

尝试这个

open (my $DICT, '<', 'file 0 .csv') or die "cannot open file "; 

my @dictio = <$DICT>;
chomp @dictio;
print @dictio;
于 2013-11-05T09:11:05.147 回答