Perlでよく使うモノを並べてみよう
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
02/12/26 10:59ID:7gPWZ3Cy# 環境変数取得
if ($ENV{'REQUEST_METHOD'} eq "POST"){
read(STDIN, $query, $ENV{'CONTENT_LENGTH'});
} else {
$query = $ENV{'QUERY_STRING'};
}
# デコード
@args = split(/&/, $query);
foreach $i (@args) {
($name, $val) = split(/=/, $i);
$val =~ tr/+/ /;
$val =~ s/%([0-9a-fA-F][0-9a-fA-F])/pack('C', hex($1))/eg;
$cgi{$name} = $val;
}
こんな感じでよく使うものを出していきましょう。
0002nobodyさん
02/12/26 11:06ID:???初 て
め て
て み
駄 わ て
ス. か
レ る
か
圖 な
Λ_Λ
( ´∀`)
( )
0003nobodyさん
02/12/26 11:19ID:DQIeVDZ8ただCGIでHTMLを読み込んで表示させたいのですがどうすればよいでつか?
本当にただindex.htmを外から読み込んでそのまま表示させるだけです。
0005nobodyさん
02/12/26 14:17ID:???ああ、秀丸。
0006nobodyさん
02/12/26 14:32ID:???0007nobodyさん
02/12/26 15:52ID:ODLR2vrimy $query;
if ($ENV{REQUEST_METHOD} eq "POST"){
read(STDIN, $query, $ENV{CONTENT_LENGTH});
} else {
$query = $ENV{QUERY_STRING};
}
my @args = split(/&/, $query);
my %cgi; #良くないかも。use var ...
foreach (@args) {
my ($name, $val) = split(/=/);
$val =~ tr/+/ /;
$var =~ s/%([0-9A-Fa-f][0-9A-Fa-f])/pack('H2', $1)/eg;
$cgi{$name} = $val;
}
0008nobodyさん
02/12/26 16:12ID:???0009nobodyさん
02/12/26 16:33ID:???0010nobodyさん
02/12/26 16:40ID:???0011nobodyさん
02/12/26 17:55ID:???0012nobodyさん
02/12/26 18:32ID:FAw+iTTP0013nobodyさん
02/12/26 19:13ID:ySTy6JdW0014nobodyさん
02/12/26 19:32ID:ODLR2vri0015nobodyさん
02/12/26 19:36ID:???0016nobodyさん
02/12/26 19:38ID:???@tmp{@label} = split(/<>/, $line);
return \%tmp;
0017nobodyさん
02/12/26 19:41ID:???0018nobodyさん
02/12/26 19:42ID:???0021名無し
02/12/26 20:02ID:???しかし、遅いよね。
便利だけど。
0022Jack ◆JkImxxVPHA
02/12/26 20:31ID:7gPWZ3Cy$_[0] =~ s/&/&/g;
$_[0] =~ s/\"/"/g;
$_[0] =~ s/>/>/g;
$_[0] =~ s/</</g;
$_[0] =~ s/\n/<BR>/g;
return ($_[0]);
}
タグを文字に。
0023nobodyさん
02/12/26 20:41ID:???0024nobodyさん
02/12/26 20:43ID:???0026nobodyさん
02/12/26 22:36ID:ODLR2vri正規表現中でのダブルクオートには何も意味がない。から、エスケープする必要はない。
$a = '"' と同じような考え方。
0027nobodyさん
02/12/26 23:41ID:???use Data::Dumper;
0028nobodyさん
02/12/27 05:49ID:+69413BS0029山崎渉
03/01/15 13:40ID:???■ このスレッドは過去ログ倉庫に格納されています