数组 – Perl push函数提供索引值而不是数组元素
发布时间:2020-12-15 21:47:04 所属栏目:大数据 来源:网络整理
导读:我正在读一个名为remin-freq的文本文件,它具有以下格式的数据: 11132 我想读取行并将值存储在这样的数组中:@a =(1,1,13,2). Perl push函数给出索引值/行号,即1,2,3,4,而不是我想要的输出.你能指出错误吗?这是我做的: use strict;use warnings;open(FH,"m
我正在读一个名为remin-freq的文本文件,它具有以下格式的数据:
1 1 13 2 我想读取行并将值存储在这样的数组中:@a =(1,1,13,2). Perl push函数给出索引值/行号,即1,2,3,4,而不是我想要的输出.你能指出错误吗?这是我做的: use strict; use warnings; open(FH,"<mention-freq") || die "$!"; my @a; my $line; while ($line = <FH>) { $line =~ s/n//; push @a,$line; print @a."n"; } close FH; 解决方法
错误是您正在打印@a和换行符的串联.连接时,会强制标量上下文.数组的标量意义不是它的内容,而是它的元素数.
你只是想要 print "@an"; 代替. 此外,虽然它不会影响您的代码,但删除记录终结符的正常方法是通过<>读入readline运算符正在使用chomp: chomp $line; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |