#!/usr/bin/perl while() { if( /^;/ ) # If comment { print; next; } # Match balanced square brackets $resq = qr{ \[ ( (?: (?> [^][]+ ) # Non-parens without backtracking | (??{ $resq }) # Group with matching parens )* ) \] }x; # Match balanced parens $reparen = qr{ \( (?: (?> [^()]+ ) # Non-parens without backtracking | (??{ $reparen }) # Group with matching parens )* \) }x; # 1* and *, no parens s{1\*([a-zA-Z-0-9_-]+)}{1ドル\+}xg; s{\*([a-zA-Z-0-9_-]+)}{1ドル\*}xg; # Handle 1* and * which requires dealing with the possibility of # balanced (...) pairs. s{1\*($reparen)}{1ドル\+}xg; s{\*($reparen)}{1ドル\*}xg; # Convert [...] to (...)? s{$resq}{\(1ドル\)\?}xg; s{$resq}{\(1ドル\)\?}xg; s{$resq}{\(1ドル\)\?}xg; # Convert {...} to (...)? s/{([^}]*)}/(1ドル)?/g; # Add change = to <- s/^(\S+) = /1円 <- /; print; }

AltStyle によって変換されたページ (->オリジナル) /