【问题标题】:Perl reads only the last line of my file?Perl 只读取我文件的最后一行?
【发布时间】:2013-05-18 21:13:08
【问题描述】:

好的,我有一个文件,其中包含超过 5000 个名称的列表,每个名称一行; 该文件是使用 microsoft excel 生成的 txt 文件。 下面的代码给了我 1 的输出。

open FILEHANDLE, "< listname_FC2-3ss>0.txt";
chomp (my @genelist = <FILEHANDLE>);
close FILEHANDLE;
print "the number of item in the list is ";
print scalar @genelist;

我使用的是 '10 macbook air,perl 5.12。我试图输出列表及其文件的最后一行。 但是我尝试了我自己手动提取的 10 个名称的小版本的代码,它工作得非常好,所以我认为它与分隔符有关?

请帮忙。

伊恩

【问题讨论】:

  • wc listname_FC2-3ss\&gt;0.txt 说明了什么?
  • 0 7486 142233 listname_FC2-3ss>0.txt
  • 所以wc 说你在文件中有 0 行。您应该在了解各种行尾习惯的文本编辑器中打开文件(例如 vim)
  • 摆脱&gt;然后hexdump -C yourfile | head会很棒
  • 对,我认为它有效。我将文件输入到一个字符串中并用 \r 分割。谢谢大家!!

标签: perl


【解决方案1】:

试试

local $/ = "\r";

在文件读取之前。它将输入记录分隔符更改为"\r" 字符。

【讨论】:

  • 谢谢,我有同样的问题,但在 Xcode 调试控制台中。不知道,Mac 使用的是\r,而不是\n
猜你喜欢
  • 1970-01-01
  • 2012-06-03
  • 1970-01-01
  • 1970-01-01
  • 2011-03-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-06
相关资源
最近更新 更多