2024年のうちにやっておきたいこと、ここで宣言しませんか?

「Director」から
・・・・・・○○.cgi?number=5
という形で cgiを実行させたときに
○○.datというファイル(最初は空白)に
5×3-1を計算させて答えが入るようにしたいのです

その際 計算などのところはわかるのですが
5の受け取り方がわかりません
助けてください

ちなみに 5 は 変数ですので
xを入れたときに x×3-1を
計算したいということです

よろしくお願いいたします

A 回答 (3件)

%in = &decode();



# $in{'number'} と言う変数を参照。

exit(0);

sub decode {
my($buf, %in);
if ($ENV{'REQUEST_METHOD'} eq "POST") {
read(STDIN, $buf, $ENV{'CONTENT_LENGTH'});
}
else {
$buf = $ENV{'QUERY_STRING'};
}
foreach (split(/&/, $buf)) {
($key, $val) = split(/=/);
$val =~ tr/+/ /;
$val =~ s/&/&/g;
$val =~ s/"/"/g;
$val =~ s/</&lt;/g;
$val =~ s/>/&gt;/g;
$val =~ s/\0//g;
$val =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$in{$key} .= "\0" if (defined($in{$key}));
$in{$key} .= $val;
}
(%in);
}

sub{} などについて、意味が分からなければ、また質問して頂くか、Perlの入門書などを参考にしてくださいね。
    • good
    • 0
この回答へのお礼

まだ 実際にやってはいませんが
sub{}はわかります だいじょうぶです
「また質問して頂くか」・・・
ご配慮ありがとうございます

お礼日時:2004/03/25 16:34

#2 は、#1 に忘れ物があったので、書き換えたものです。

#2 を参考にしてください。

申し訳ない!
    • good
    • 0

if ($ENV{'REQUEST_METHOD'} eq "POST") {


read(STDIN, $buf, $ENV{'CONTENT_LENGTH'});
}
else {
$buf = $ENV{'QUERY_STRING'};
}
foreach (split(/&/, $buf)) {
($key, $val) = split(/=/);
$val =~ tr/+/ /;
$val =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$in{$key} .= "\0" if (defined($in{$key}));
$in{$key} .= $val;
}

な、感じでデコードします。
すると、

$in{'number'}

に 5 が入ってきます。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報