perl - 为什么我的 Perl open() 失败并显示 "Unsuccessful open on filename containing newline"?

标签 perl directory

我试图将 ${date[0]} 放在我的目录中,这相当于 01252010@hits 未打印。我如何设法打开目录以获得所需的输出?谢谢。

错误: 在 ./total.pl 第 11 行,第 1 行包含换行符的文件名上打开失败。

#!/opt/perl/bin/perl -w

use strict;

open(FH,"/home/daily/scripts/sms_hourly_stats/date.txt");
my @date = <FH>;
print $date[0];

my $path = "/home/daily/output/sms_hourly_stats/${date[0]}/TOTAL.txt";
open(FILE,"$path") or die "Unable to open $path: $!";
my @hits = <FILE>;
print @hits;

close FH;
close FILE;

最佳答案

您需要删除行结束符号。使用 chomp :

chomp(my @date = <FH>);

关于perl - 为什么我的 Perl open() 失败并显示 "Unsuccessful open on filename containing newline"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2131072/

相关文章:

perl - 祝福还是不祝福,这是我的问题!

perl - 在 perl 中将唯一的正则表达式输出记录到数组时出现问题

Perl:flock() 在 Linux 上运行,忽略之前在 AIX 上的锁定

perl嵌套哈希多重排序

java - 使用 Java 压缩文件夹但排除某些子目录

wordpress - 更改安装 WordPress 的目录的文件夹名称

c - 包含png信息的假目录

MySQL插入后触发并在数据更改时添加时间戳

.htaccess - 使用 .htaccess 显示不同的路径

java - 无法从 HTML 中的另一个目录加载 Java 小程序