当前位置:  开发笔记 > 编程语言 > 正文

如何将小文本文件的内容读入Perl中的标量?

如何解决《如何将小文本文件的内容读入Perl中的标量?》经验,为你挑选了3个好方法。

我有一个小文本文件,我想读入一个标量变量,就像它在文件中一样(保留行分隔符和其他空格).

Python中的等价物就像是

buffer = ""

try:
    file = open("fileName", 'rU')
    try:
        buffer += file.read()
    finally:
        file.close()
except IOError:
    buffer += "The file could not be opened."

这只是为了简单地重新显示网页上文件的内容,这就是我的错误信息进入我的文件缓冲区的原因.



1> gpojd..:

从Perl Cookbook:

my $filename = 'file.txt';
open( FILE, '<', $filename ) or die 'Could not open file:  ' . $!;

undef $/;
my $whole_file = ;

我会将这些变化本地化:

my $whole_file = '';
{
    local $/;
    $whole_file = ;
}



2> Powerlord..:

作为替代亚历克斯说,你可以安装的文件:: 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");

注意这个dies(嗯...... croak,但这只是从模块调用die的正确方法)出错,所以你可能需要在eval块中运行它来捕获任何错误.



3> draegtun..:

如果我附近没有Slurp或Perl6 :: Slurp,那么我通常会跟....

open my $fh, '<', 'file.txt' or die $!;

my $whole_file = do { local $/; <$fh> };

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有