#! /usr/local/bin/perl $| =1; print '>'; while(<>) { s/[ \t\r\n]+$//; $a = &my_chop($_, 5); print "$a\n>"; } exit; ## ## sub my_chop ( $buf, $len, ); ## 指定された文字列(日本語EUC限定) $buf を、指定された文字数 $len で ## 切って返すために作成された、即席スクリプト。探すより書いた方が早いけど‥ sub my_chop { local($buf, $len) = @_; local($ret, ); while(0 < $len && 0 < length($buf)) { local($z1,$z2) = ( substr($buf,0,1), substr($buf,1), ); if($z1 =~ /[\x01-\x7f]/) { $ret .= $z1; $buf = $z2; } else { $ret .= substr($buf,0,2); $buf = substr($buf,2); } $len--; } return $ret; }