perl - 推送不附加到数组的末尾

时间:2013-02-09 02:27:05

标签: perl

  DB<2> n
  main::(/home/repsa/temper.pl:84):  my $tttdiskhumber=$myTemprecord[-1];
   DB<2> n
  main::(/home/repsa/temper.pl:87):  push(@myMainrecord,$tttdiskhumber);
   DB<2> p @myMainrecord
   t2agvio701vhost03t2adsap7011
   DB<3> p $tttdiskhumber
  hdisk6
   DB<4> n
   main::(/home/repsa/temper.pl:88): @myTemprecord=();
    DB<4> p @myMainrecord
    hdisk6o701vhost03t2adsap7011
   DB<5>

为什么我的最后一次推送没有附加到数组的末尾? 任何帮助表示赞赏....

1 个答案:

答案 0 :(得分:7)

是的哦。问题是你正在向屏幕发送回车。它可能跟踪数组中的前一个元素。

$ perl -e'print "abc", "def\r", "ghi", "\n";'
ghidef

您可能在非Windows系统上读取了一个Windows文本文件而未提前转换行结尾(使用dos2unix)或读取文件时(使用s/\s+\z//;代替{ {1}})。


正如jordanm在评论中所建议的那样,调试器的chomp;命令会向您显示您比x更好的内容。

p