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

前端之家收集整理的这篇文章主要介绍了在Perl中,我如何将整个文件读入字符串?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图打开一个.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允许您slurpspew

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

原文链接:https://www.f2er.com/Perl/173567.html

猜你在找的Perl相关文章