好的,所以我读了我的文件并打印得很好,但现在我正在尝试将数据输出到一个新文件,但它无法正常工作.任何人都可以在这看到错误吗?
#!/usr/bin/perl -w
use strict;
use warnings;
use diagnostics;
$| = 1;
open MYFILE, "+<", 'source_file.txt' or die $!;
my $linenum = 1;
while (<MYFILE>) {
print $linenum++;
print ": $_\n";
}
open OUT, "+>", 'output_report.txt' or die $!;
while (<OUT>) {
print "SUMMARY SECTION:\n\n";
print "# of total lines in the file - '2006'\n\n";
}
Run Code Online (Sandbox Code Playgroud)
新文件'output_report'已创建,但是当我打开新的txt文件时,这是我的不幸,空白.另外,如果我使用STDOUT,是否必须使用STDERR?谢谢!
更改:
while (<OUT>) {
print ...
print ...
}
Run Code Online (Sandbox Code Playgroud)
至:
print OUT ...
print OUT ...
Run Code Online (Sandbox Code Playgroud)
<>是为了阅读,而不是写作.你的代码是从文件中读取的,这是空的,所以它甚至都不会进入循环(这将打印到STDOUT,而不是文件).
此外,如果您只是阅读,请使用<,而不是+<.如果你只是写作,请使用>,而不是+>.其他模式用于对同一文件进行读写混合.
| 归档时间: |
|
| 查看次数: |
169 次 |
| 最近记录: |