我有一个小文本文件,我想读入一个标量变量,就像它在文件中一样(保留行分隔符和其他空格).
Python中的等价物就像是
buffer = ""
try:
file = open("fileName", 'rU')
try:
buffer += file.read()
finally:
file.close()
except IOError:
buffer += "The file could not be opened."
Run Code Online (Sandbox Code Playgroud)
这只是为了简单地重新显示网页上文件的内容,这就是我的错误信息进入我的文件缓冲区的原因.
gpo*_*ojd 19
my $filename = 'file.txt';
open( FILE, '<', $filename ) or die 'Could not open file: ' . $!;
undef $/;
my $whole_file = <FILE>;
Run Code Online (Sandbox Code Playgroud)
我会将这些变化本地化:
my $whole_file = '';
{
local $/;
$whole_file = <FILE>;
}
Run Code Online (Sandbox Code Playgroud)
Pow*_*ord 18
作为替代亚历克斯说,你可以安装的文件:: Slurp的模块(cpan -i File::Slurp命令行),并使用此:
use File::Slurp;
# Read data into a variable
my $buffer = read_file("fileName");
# or read data into an array
my @buffer = read_file("fileName");
Run Code Online (Sandbox Code Playgroud)
注意这个dies(嗯...... croak,但这只是从模块调用die的正确方法)出错,所以你可能需要在eval块中运行它来捕获任何错误.
dra*_*tun 15
如果我附近没有Slurp或Perl6 :: Slurp,那么我通常会跟....
open my $fh, '<', 'file.txt' or die $!;
my $whole_file = do { local $/; <$fh> };
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7937 次 |
| 最近记录: |