从__DATA__Perl 的数据部分读取它非常容易.以下代码使用预先存在的DATA句柄:
foreach (<DATA>) {
print("- $_");
}
__DATA__
1
2
The End of The End
Run Code Online (Sandbox Code Playgroud)
生产:
- 1
- 2
- The End of The End
Run Code Online (Sandbox Code Playgroud)
但是我没有找到任何编写数据的简洁方法.例如,我尝试过以下方法:
use feature say;
say STDERR 'Some Error';
say STDOUT 'Some Message';
say DATA 'Some Data';
__DATA__
foo bar
Run Code Online (Sandbox Code Playgroud)
打印到STDOUT和STDERR作为expectet:
perl write.pl 2> /dev/null
Some Message
Run Code Online (Sandbox Code Playgroud)
但印刷品DATA什么都不做:
tail -2 write.pl
__DATA__
foo bar
Run Code Online (Sandbox Code Playgroud)
我也看过CPAN的几个模块,但我总是只找到读取支持,而不是写入.感谢任何提示和帮助!