Perlを使ってテキストの加工をよくする。と言っても,Perlのことはほとんどわかっていない。いつも適当に,思い通りの結果が出ればOKという処理。だから基礎からなっていない。
以前にも少し記録したが,そうだったんだ,と思ったときにここに書いておくことにしたい。
カレントディレクトリのファイルリストを取得して,そこにある特定の拡張子のファイルに処理をしたいことがある。こんなふうにやってみた。
foreach $file (<*>) {
@filename = split(/\./, $file);
if ($filename[1] eq "tex") {
…
}
}
カレントディレクトリの移動する必要があった。そのものずばりだった。
chdir "…";
最初は次のように勘違いして,うまく移動できなくて困っていた。
system("cd …");
次にパターンマッチ。たとえば,全角カタカナの1字以上の連続文字列を抽出する。
while ($input = ) {
chomp($input); こんな回りくどい記述は不要かも。
$_ = $input; 検索の対象文字列は$_だそうです。
@match = /[ア-ン]+/g; 正規表現は何年も前にsedでよく書いた。
}
最後に並べ替え。配列を用意して,その要素(文字列)を並べ替える。並べ替え方はサブルーチンをつくる必要があるという。よくわからないが,言われるがままに。^_^;
@sortedmatch = sort ascend @match;
sub ascend {
$a cmp $b;
}