Bruce. です。
今日気がついたのですが、pack()/unack()のformat文字列に()が使えるんですね。
$str = "414243";
@foo = map {hex} unpack("(a2)3", $str);
print join(',', @foo), "\n";
→65,66,67
いろいろと調べてみると、5.8で追加されたもののようで。
そのときに一緒に見つかったのが
*length-item*"/"*string-item*
という指定。こっちは5.6で追加されたものですね。文字列の長さを文字列の
前に置いたものです。
で、Rubyはどうなんだろうと試してみると
Ruby
#foo = "414243".unpack("a2a2a2").map{|x| x.hex}
foo = "414243".unpack("(a2)3").map{|x| x.hex}
print foo.join(','), "\n";
→65
エラーにはなりませんが無視されました。
#perldeltaもきちんと読まんとあかんなあ・・・
--
木村浩一
I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
mail kbk@...
web www.kt.rim.or.jp/~kbk/