Perl : pack/unpack
perlのpack/unpackの使い方を理解した。
- pack
- 構造体→固定長レコード
- unpack
- 固定長レコード→構造体
という変換のために利用する。
デリミタで区切られたレコードを変換するのに、split/joinを使うのと対照的だ。
-
-
- -
-
で、これが理解できたので、perlのurldecodeのイディオムも理解したわけで、
@pairs = split(/&/,$buffer); foreach $pair (@pairs) { ($name, $value) = split(/=/, $pair); $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; ... }