Perlで複数行のマッチをやってみたよ
複数行のマッチとかできたら幸せになれるのに・・・
って思いながら結城浩さんの『Perl言語プログラミングレッスン』を読んでたら
できました。
#!/usr/bin/perl # # 複数行の置き換えを行うスクリプト # 2011.10.29_scripted by perl48 use strict; use warnings; my $multiple_data; foreach my $data (<DATA>) { $multiple_data .= $data } #print $multiple_data; # <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">.<?php をマッチさせる # htmlはスラッシュが多いので、m#pattern#s という感じでデリミタを # にしてみる # 改行一文字を . で表すための修飾子 /s をつける if ($multiple_data =~ m#<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">.<\?php#s ){ print $&; } __DATA__ <? //絵文字 include_once 'include/commons.php'; //ヘッダ情報 include_once 'include/content_type.php'; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <?php include ('include/analytics.php'); ?> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <?php include ('include/head.php'); ?> </head>