- 135 名前:前スレ853 mailto:sage [02/04/20 15:24]
- >>129
ファイルの入出力方法が冗長に感じたんで indent.pl srcfile > dstfile てな使い方に変えてみて 5 行。 sub l{('(qq?|=~m?)\/.*?\/','(s|tr|y)\/.*?\/.*?\/','\(.*?\)','(\'|").*?\1.*?;')} $_=join'',map{s/\s+$//;s/\w$/$& /;$_}<>;s/[;{}]/$&\n/g;$a='@@@';$m='&&&';$p= '%%%';s|\\/|$m|g;s|\\"|$a|g;$d=$_;for(l){1while$d=~s/\G$_/$o[$c]=$`;$j[$c++]=$& ;''/egs;$c=0;for(@j){s/\n//g;s/"/\$\$\$/g;s/'/$p/g;$t.="$o[$c++]$_"}($d,$t,$c, @o,@j)=("$t$d")}$_=$d;s|$m|\\/|g;s/$a/\\"/g;s/\$\$\$/"/g;s/$p/'/g;print でもコレ、ハッシュとかまで改行しちゃうよね(汗)。 トークナイザ作って括弧の対応調べて地道に改行しないと綺麗にはならないと思う。
|

|