加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

数组 – 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;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读