2007年5月18日金曜日

おまけのPerl Script 2点

その1 文字コードを表示するスクリプト。
MacOS9では「この文字のShift-JISコードなんだっけ?」と思ったときに使える。

print"文字入力>>";

$str = くSTDIN>;
# 引数を $str に格納
(このblogでは<←はhtml言語として認識してしまうので「く」で代用

chop($str);
# 改行を取り除く

@arr=split//,$str;
# $strをバイトで分解して@arrに格納

foreach $byte(@arr){
#@arrの各バイトを$byteに格納しながらループ

@buf = unpack("CC", $byte);
#10進数に変換して@bufに格納

printf "%x%x",@buf
# Shift-JISコード(16進数)で出力

}
#ループを終了

# 8進数にする場合はprintf "%o%o",@buf となる
# 00で始まる文字は00が省略されてしまうため、うまくいかない。今後の課題。


その2 LFキャラcheck
お馬鹿なデザは客から支給されたwordテキストをまんまコピペでイラレに流し込む。当然、行頭にはLFキャラが入ってくる。イラレからまんまカラーゲラを出力する分には気づかないが、EPSにしてQuarkに貼ると文字組みが狂って出力される。その症状が反映されるPSプリンタと反映されないPSプリンタがあるからやっかいである。いちいちファイルを開いて検索・置換するのはメンドイんで、Perlスクリプトにドラッグしてチェック。

#!/user/local/bin/perl
while(<>){
if(/\(\\012A\)/){
print"LFキャラが使用されています。\n";
}
#イラ8用

if(/\( \)\(\\000\\001\)/){
print"LFキャラが使用されています。\n";
}
#イラ9用
}

1 件のコメント:

茶尾 さんのコメント...

¥がバックスラッシュに代わって読みづらい。。。