Chomp不适用于perl脚本

时间:2013-11-05 08:51:11

标签: arrays perl csv chomp

我有这个脚本

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

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

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

AAAA , a
AAAT , b
AAAC , c

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

那么我对命令chomp做错了什么?

由于

2 个答案:

答案 0 :(得分:0)

试试这个

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

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

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