1. ホーム
  2. string

[解決済み] Perl で、ファイル全体を文字列に読み込むにはどうしたらいいですか?

2022-08-04 14:25:35

質問

私は.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 $/;

は、ファイルハンドルから読み込む前に 参照 ファイル全体を一度に読み込むにはどうしたらよいですか? または

$ perldoc -q "ファイル全体"

参照 ファイルハンドルに関連する変数 perldoc perlvar perldoc -f local .

ちなみに、サーバーにスクリプトを置くことができれば、モジュールはすべて揃えることができます。参照 モジュール/ライブラリのディレクトリを自分で管理するには? .

さらに パス::クラス::ファイル では 啜る 吐く .

パス::タイニー のようなさらに便利なメソッドを提供します。 slurp , slurp_raw , slurp_utf8 と同様に、その spew の対応するものです。