作者: Bruce.
日時: 2006/3/23(01:25)
Bruce.です。

davi さんは書きました (2006/03/22 4:24):

> 		$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;

この部分教育的指導です ;-)
多分、CGIでは有名なサイトのサンプルスクリプトから流れて
そうなっているのでしょうけれども

pack('C', hex($1))

は

pack('H2', $1)

でできます。
なんで無用に二段階にしているのやら。

use strict;
my $src = '%68%65%6C%6C%6F%2C%20%77%6F%72%6C%64';
my $dest1;
my $dest2;

$dest1 = $dest2 = $src;

$dest1 =~ s/%([a-fA-F0-9]{2})/pack('C', hex($1))/eg;
$dest2 =~ s/%([a-fA-F0-9]{2})/pack('H2', $1)/eg;

print "\$dest1=$dest1\n";
print "\$dest2=$dest2\n";


-- 
木村浩一
  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/index.html#zakkicho
	     homepage3.nifty.com/farstar/