質問: perl ファイル内文字列抽出 お世話になっております。 perlでファイルない文字データを抽出する作業をしたいですが、やり方が分からなくて、ご存知の方ぜひ教えて頂けばと思います。 001.html内の内容 <html> <head> </head> テキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト<img src="aaa" \/>テキストテキストテキストテキストテキストテキストテキストテキスト<img src="bbb" \/><img src="ccc" \/><img src="aaa" \/>テキストテキストテキストテキストテキストテキストテキストテキスト 質問内容 (1)このなかの<img src="aaa" \/>イメージファイル名を抽出したいです。本文ではイメージファイルの拡張子はなしです。入力の間違いではないです。 (2)抽出した文字列をimg.txtファイルで出力 以上よろしくお願いします。
回答: 「やり方が分からなくて」ということだから「やり方」だけ: 1. ファイルを読み込む. $/ を undef にしてから読み込むとファイル全体を一気に読み込めて楽 (だけどメモリが足りなくなったら知らない). 2. その中から img タグを取り出す. 正規表現を使うのが自然か. 3. さらに「イメージファイル名」を取り出す. ここもやっぱり正規表現を使うところだろう. 4. 必要な「イメージファイル名」を出力. ちなみに重複したものを 1つにまとめるのはハッシュを使うのがセオリー.