我有一个包含数百个文本文件的文件夹。每个文件都有相同的格式,例如文件名ATextFile1.txt
读取
ATextFile1.txt 09 Oct 2013
1
2
3
4
...
我有一个简化的 Perl 脚本,它应该读取文件并在终端窗口中打印出来:
#!/usr/bin/Perl
use warnings;
use strict;
my $fileName = shift(@ARGV);
open(my $INFILE, "<:encoding(UTF-8)", $fileName) || die("Cannot open $fileName: $!.\n");
foreach (<$INFILE>){
print("$_"); # Uses the newline character from the file
}
当我在由ATextFile1.txt
生成 . Mac版文件生成程序,输出如下:
2016tFile1.txt 09 Oct 2013
经过一些测试,它似乎只打印文本的第一行,其中前 4 个字符被 RegEx 中可以表示为/[0-9][0-9]16/
. 如果在我的 Perl 脚本中,我将输出语句替换为print("\t$_");
,则将以下行打印到 STDOUT:
2016 ATextFile1.txt 09 Oct 2013
这些文件中的每一个都可以使用任何标准文本编辑器正常读取,但由于某种原因,我的 Perl 脚本似乎无法正确读取和写入文件。任何帮助将不胜感激(我希望我很明显错过了一些东西)。提前致谢!