先日、ブログのアーカイブのパスを変更したので、古いページから新しいページへリンクするようにした。
古いページをすべて上書き。新しいページへのリンクだけのページにする。
perl のスクリプトで。
my $input_dir = 'zurazure2';
my $output_dir = "${input_dir}out";
opendir (DIR, $input_dir) or die "opendir失敗: $!";
while($file = readdir(DIR)){
if($file ne '.' and $file ne '..'){
#print "$file\n";
$doc = << "____EOD____"; #
<html>
<body>
<a href="../${file}">This page moved.</a>
</body>
</html>
____EOD____
open (FILE, "> ${output_dir}/${file}") or die "open失敗: $!";
print FILE $doc;
close FILE;
}
}
closedir DIR;
Perl のヒアドキュメントでちょっとハマる。
シングルクォーテーションでくくっててうまく出力されない。
ヒアドキュメントでも引用マーカーをどの引用符で囲うかで文字列の解釈方法が違うようです。また、引用マーカーの引用符は省略する事が多く、ダブルコーテーションで囲った場合と同じ扱いになるようです。
小人さんへの置き手紙: perl のヒアドキュメント
ダブルクォーテーションにしたら思った通りの動作をしてくれた。
tags: zlashdot Perl MovableType Perl
Posted by NI-Lab. (@nilab)