加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

在Perl中,我如何将整个文件读入字符串?

发布时间:2020-12-15 21:29:22 所属栏目:大数据 来源:网络整理
导读:我试图打开一个.html文件作为一个大的长字符串。这是我得到的: open(FILE,'index.html') or die "Can't read file 'filename' [$!]n"; $document = FILE; close (FILE); print $document; 其结果是: !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transit
我试图打开一个.html文件作为一个大的长字符串。这是我得到的:
open(FILE,'index.html') or die "Can't read file 'filename' [$!]n";  
$document = <FILE>; 
close (FILE);  
print $document;

其结果是:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN

但是,我想让结果看起来像:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

这样我可以更容易地搜索整个文档。

解决方法

加:
local $/;

之前从文件句柄读取。见How can I read in an entire file all at once?,或

$ perldoc -q "entire file"

参见Variables related to filehandles在perldoc perlvar和perldoc -f local

顺便说一下,如果你可以把你的脚本在服务器上,你可以有你想要的所有模块。见How do I keep my own module/library directory?。

此外,Path::Class::File允许您slurp和spew。

Path::Tiny给出了更方便的方法,如slurp,slurp_raw,slurp_utf8以及它们的spew同行。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读