免费注册 查看新帖 |

ChinaUnix.net

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 676 | 回复: 2

运行结果报错 [复制链接]

论坛徽章:
0
发表于 2019-01-09 13:11 |显示全部楼层
#!/usr/bin/perl -w
use Data:umper;

$/=">";
my %unqs;

while (<DATA>{
        chomp;
        next if (m/^s*>/);
     my @line = (split /\n/,$_,2);
     $unqs{$line[0]}=$line[1] if (length($line[1]) > length($unqs{$line[0]}));
                print Dumper(%unqs);
}

__DATA__
>test1
GAGATGCAATCTTCGCAGCTAGG
>test2
GAGATGAAACAACGAGGGAAACGATGTT
>test1
AGAGCAGTG
>test3
AACGATGTTTGTGTATACCAAAAGCAATAAC
>test1
GCAATCTTCGCAGCTAGGCGAAAGGGAGATGAAACAACGA

运行结果如下:
Use of uninitialized value $line[0] in hash element at scrip_delet.pl line 11, <DATA> chunk 1.
Use of uninitialized value in numeric gt (> at scrip_delet.pl line 11, <DATA> chunk 1.
Use of uninitialized value in numeric gt (> at scrip_delet.pl line 11, <DATA> chunk 1.
Use of uninitialized value in numeric gt (> at scrip_delet.pl line 11, <DATA> chunk 2.

请问:我前面已定义哈希,为什么还提示我没有定义?应怎么修改?

论坛徽章:
0
发表于 2019-01-13 10:51 |显示全部楼层
把 Dumper 移出while,可以了吧
  1. #!/usr/bin/perl -w
  2. use Data::Dumper;

  3. $/=">";
  4. my %unqs;

  5. while (<DATA>){
  6.         chomp;
  7.         next if (m/^s*>/);
  8.      my @line = (split /\n/,$_,2);
  9.      $unqs{$line[0]}=$line[1] if (length($line[1]) > length($unqs{$line[0]}));

  10. }
  11. print Dumper(%unqs);

  12. __DATA__
  13. >test1
  14. GAGATGCAATCTTCGCAGCTAGG
  15. >test2
  16. GAGATGAAACAACGAGGGAAACGATGTT
  17. >test1
  18. AGAGCAGTG
  19. >test3
  20. AACGATGTTTGTGTATACCAAAAGCAATAAC
  21. >test1
  22. GCAATCTTCGCAGCTAGGCGAAAGGGAGATGAAACAACGA
复制代码

论坛徽章:
0
发表于 2019-01-14 15:07 |显示全部楼层
去掉Dumper还是不行。
运行结果报错:

Use of uninitialized value $line[0] in hash element at testf.pl line 10, <DATA> chunk 1.
Use of uninitialized value in numeric gt (>) at testf.pl line 10, <DATA> chunk 1.
Use of uninitialized value in numeric gt (>) at testf.pl line 10, <DATA> chunk 1.
Use of uninitialized value in numeric gt (>) at testf.pl line 10, <DATA> chunk 2.
Use of uninitialized value in numeric gt (>) at testf.pl line 10, <DATA> chunk 3


您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

数据风云,十年变迁
DTCC 第十届中国数据库技术大会已启航!

2019年5月8日~5月10日,由IT168旗下ITPUB企业社区平台主办的第十届中国数据库技术大会(DTCC2019),将在北京隆重召开。大会将邀请百余位行业专家,就热点技术话题进行分享,是广大数据领域从业人士的又一次年度盛会和交流平台。与SACC2018类似,本届大会将采用“3+2”模式:3天传统技术演讲+2天深度主题培训。大会不仅提供超100场的主题演讲,还会提供连续2天的深度课程培训,深化数据领域的项目落地实践方案。
DTCC2019,一场值得期待的数据技术盛会,殷切地希望您报名参与!

活动入口>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP