作者: dune
日時: 2004/1/25(12:19)
極悪です。
URL の %?? をデコードするスクリプトです
(単に Encode を使ってみたかっただけです)。

● 使い方
D:% echo 2002%94N06%8C%8E | perl deURL.pl
2002年06月

D:%

● deURL.pl
#!/usr/local/bin/perl
use strict;
use Encode::Guess qw/euc-jp shiftjis 7bit-jis/;

package Encode::URL;
use base qw(Encode::Encoding);
__PACKAGE__->Define('URL');

sub decode($$;$){
    my($obj,$str,$chk) = @_;
    $str =~ s/%([0-9a-fA-F][0-9a-fA-F])/chr(hex $1)/eg;
    $str = Encode::decode('Guess',$str);
    $_[1] = '' if $chk; # this is what in-place edit means
    return $str;
}

sub encode($$;$){ die qq/URL encode not implemented.\n/ }

package main;

binmode(STDIN => ":encoding(URL)");
binmode(STDOUT => ":encoding(CP932)");

while(<>){ print }
__END__
-- 
FZH01112 at nifty.com
http://hpcgi1.nifty.com/dune/gwiki.pl?