わいえむねっと

Contents
Categories
Calendar
2010/05
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
Monthly Archives
~2000/01
Recent Entries
RSS1.0
Templates
Information
Processed: 0.048 sec
Chashed: -
2010/05/21 Fri
8年前に書いたものを概ねそのままで使い続けていたパラメータ展開周りの処理をごっそり入れ替えてみたので、例によってなんかぶっ飛ぶかも。

以下、SSIメモ。

use CGI;

my $q = new CGI;

foreach my $key($q->param)
{
    foreach($q->param($key))
    {
        print "param($key): $_\n";
    }
}

my  $i = 0;
foreach(@ARGV)
{
    print "\$ARGV[$i]: $_\n";
    $i++;
}

# <!--#include virtual="foo.pl?foo:bar+baz:qux"-->
# param(keywords): foo:bar
# param(keywords): baz:qux
# $ARGV[0]: foo:bar
# $ARGV[1]: baz:qux

# <!--#include virtual="foo.pl?foo:bar baz:qux"-->
# param(keywords): foo:bar
# param(keywords): baz:qux
# $ARGV[0]: foo:bar baz:qux

# <!--#include virtual="foo.pl?foo:bar&baz:qux"-->
# param(foo): bar baz=qux

# <!--#include virtual="foo.pl?foo=bar+baz=qux"-->
# param(foo): bar baz=qux

# <!--#include virtual="foo.pl?foo=bar baz=qux"-->
# param(foo): bar baz=qux

# <!--#include virtual="foo.pl?foo=bar&baz=qux"-->
# param(foo): bar
# param(baz): qux
ついでにPATH_INFOにも対応。
以下のようなURLでアクセスができるようになったかも。

http://sakanaya.k​ir.jp/ymnet/diary/d/20100521
http://sakanaya.k​ir.jp/ymnet/diary/d/20100521/2
http://sakanaya.k​ir.jp/ymnet/diary/d/SandBox