メモ。
read で読み込むデータ内に IFS で定義しているデリミタ文字があった
場合は、その文字をバックスラッシュでエスケープして read のオプショ
ンに -r をつけると良い。
2011年1月28日金曜日
2011年1月27日木曜日
mew で Multipart/Alternative を見る
単なるメモ
'-' マーク Multipart/Alternative で Text/Plain が同梱されてない
もしくは空のメールは、":" で中身展開、"," でテキスト表示。
いやしかし、昨今のEメールの形式は以前の常識(マナー)を無視していて、
Gmail やら Outlook やらもう好き勝手にやってる感じ。
describe-variable
'-' マーク Multipart/Alternative で Text/Plain が同梱されてない
もしくは空のメールは、":" で中身展開、"," でテキスト表示。
いやしかし、昨今のEメールの形式は以前の常識(マナー)を無視していて、
Gmail やら Outlook やらもう好き勝手にやってる感じ。
describe-variable
2011年1月20日木曜日
pack() unpack()
どうも perl の pack(), unpack() がいつまでたっても身につかない。
初歩的すぎる話題だけどいつもなんだかんだで調べちゃう。だから恥ず
かしいけどここにメモっておく。
例えば Hex の "5a" なんてのは "Z" だけどこの変換を行うには以下。
$bstr = pack("H*", "5a");
第二引数が Hex だよんてことを第一引数で定義してる。第一引数の
種類はリファレンスで調べて。この部分の *は後に続く文字列の数
でもよい(*は最後までという意味) 。例えば上記の場合 "H1" なん
てしちゃうと、はじめの "5" だけをバイナリ変換しちゃうので 0x50
のバイナリ表現が $bstr にはいっちゃう("P"という文字だけど)。
で、unpack はその逆で、バイナリ文字列を Hex 表現等にしたりする。
だから上記の結果の $bstr を unpack("H*", $bstr) なんてすると、
"Z" の Hex 表現の "5a" が得られる。
ちなみになんで pack とか unpack の話題だったのかというと、slappasswd
で得られるパスワードを base16 にしたかったのです。
この場合は、slappasswd で得られる文字列は base64 なのでこれを
デコードしてバイナリ化、んでそれを unpack("H*", )すれば base16
な表現が得られるというわけ。
初歩的すぎる話題だけどいつもなんだかんだで調べちゃう。だから恥ず
かしいけどここにメモっておく。
例えば Hex の "5a" なんてのは "Z" だけどこの変換を行うには以下。
$bstr = pack("H*", "5a");
第二引数が Hex だよんてことを第一引数で定義してる。第一引数の
種類はリファレンスで調べて。この部分の *は後に続く文字列の数
でもよい(*は最後までという意味) 。例えば上記の場合 "H1" なん
てしちゃうと、はじめの "5" だけをバイナリ変換しちゃうので 0x50
のバイナリ表現が $bstr にはいっちゃう("P"という文字だけど)。
で、unpack はその逆で、バイナリ文字列を Hex 表現等にしたりする。
だから上記の結果の $bstr を unpack("H*", $bstr) なんてすると、
"Z" の Hex 表現の "5a" が得られる。
ちなみになんで pack とか unpack の話題だったのかというと、slappasswd
で得られるパスワードを base16 にしたかったのです。
この場合は、slappasswd で得られる文字列は base64 なのでこれを
デコードしてバイナリ化、んでそれを unpack("H*", )すれば base16
な表現が得られるというわけ。
2011年1月13日木曜日
2011年1月5日水曜日
登録:
投稿 (Atom)