- 327 名前:前スレ853 mailto:sage [02/05/19 18:37]
- >>324
とりあえずたたき台を作ってみたよ。まだまだ機能的に不完全だけど。 boobar.hoops.ne.jp/rms.tar.gz $_=join" ",grep{s/^\s*(?:#.*)?|\s+$//g;s/\s+/ /g;length}<>;%k=qw|( ) < > [ ] { }|;1 while s=\G(.*?)((?:(?:(?<![\$\%\&\*\@])(?:(?:m|q[qrwx]?)(?:([(<[{]).*?${k{ $3}}|([^\w\s(<[{]).*?\4)|(?:s|tr|y)(?:([(<[{]).*?$k{$5}\s*\5.*?${k{$5}}|( [^\w\s(<[{]).*?\6.*?\6))|(?<![\w])/(?:\\/|[^/])*/)[a-z]*)|"(?:\\"|[^"])*"|'(?: \\'|[^'])*')=push@c,$1,$2;''=egx;$q=1 if$c[0]=~m!^(?:["'/]|(?:[ms]|q[qrwx]?|tr) [^\w\s])!x;($_,@c)=map{++$q%2?split:$_}grep/\S+/,@c,$_;sub j{$_.=$_[0].shift@c} sub l(){length$_.$c[0]}sub p{print"$_\n";$_=shift@c}sub w(){/\w$/&&$c[0]=~/^\w/ }79<=l?79<l?p:w?p:j&&p:w?j" ":j while@c;p; さぁ、縮めようか。(w
|

|