さわだのノート

書籍のお仕事に役立つかもしれない思いつきを記録しています。

RSS: 記事の更新情報 Rss Feed

原稿を適当にXML化

原稿の整理・編集にはいつもVimを使っていますが、複数のテキストファイルに複雑な処理をかませたいときはPerlを使っています。
今週末はクリスマスなので、適当なフォーマットの原稿をXML化するためのスクリプトを書いてみました。
マジで暇だ。

#!/usr/bin/perl

use strict;
use warnings;
use utf8;

use open IO => qw/:utf8 :std/;

my $str = do {undef $/; <DATA>;}
my @list = split /\n{2,}/, $str;
my @arr = ();
foreach my $x (@list) {
    1 while $x =~ s|○(.+)|<body>$1</body>|s;
    1 while $x =~ s|■(.+)|<p>$1</p>|s;
    1 while $x =~ s|▽(.+)|<h1>$1</h1>|s;
    1 while $x =~ s|▼(.+)|<h2>$1</h2>|s;
    1 while $x =~ s|☆(.+)☆|<bold>$1</bold>|s;
    push @arr, $x;
}
print join "\n", @arr;

$/をundefして一気読みすることで、改行越しの検索/置換を行っています。
こういった処理を僕みたいな素人でも簡単かつ適当に書けるのがPerlの懐の深さですね。
しかし、肝心のInDesignでの活用法がいまだによくわからんので、このスクリプトも原稿用のフォーマットもちゃんと練り直すことはなさそうです。。。