- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Perlでhtmlファイルの検索、置換がしたい)
Perlでhtmlファイルの検索、置換がしたい
このQ&Aのポイント
- Perlを用いて、数百あるhtmlファイルの一括検索&置換作業がしたいです。
- 具体的な作業は、webに上がっているhtmlファイルを取得してローカルに保存し、meta系テキストの記述やtitleタグの中身を変数に格納し、og:titleのcontent要素にデータを記述することです。
- 現在1の作業は完了しており、2の一括置換も可能ですが、3と4のローカルに保存したhtmlファイルの操作で躓いています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
適当。表示がくずれるので、空白2文字を全角にしていることに注意。 use strict; use warnings; use autodie; for my $file (@ARGV) { my $new_file = $file . '.new'; open my $fh, '<', $file; open my $new_fh, '>', $new_file; while ( my $line = <$fh> ) { if ( $line =~ m{(\s*)<title>(.*)</title>(\s*)$}i ) { my $title = $2; print {$new_fh} $1, qq(<meta property="og:title" content="$title" />), $3; } print {$new_fh} $line; } close $fh; close $new_fh; } ---- perl -w foo.pl foo1.html foo2.html
その他の回答 (1)
- Tacosan
- ベストアンサー率23% (3656/15482)
回答No.1
「htmlファイル」から読み込んで正規表現でマッチさせれば 3 はできると思うんだけどなぁ.... もちろん 3 (と 2) ができれば 4 ができるのは当たり前.