原稿を適当に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での活用法がいまだによくわからんので、このスクリプトも原稿用のフォーマットもちゃんと練り直すことはなさそうです。。。