perlをcgiに変換
my(%area) = (
"愛知" => 0, #県内は仮に第0地帯とする
"関東" => 1, #第1地帯
"信越" => 1,
"近畿" => 1,
"東海" => 1,
"北陸" => 1,
"東北" => 2, #第2地帯
"中国" => 2,
"四国" => 2,
"九州" => 3, #第3地帯
"北海道" => 5, #第5地帯
"沖縄" => 6,
);
#地帯番号から、サイズ・料金対応表への変換
my(%postage) = (
0 => { 60=> 600, 80=> 800, 100=>1000, 120=>1200, 140=>1400, 160=>1600, 170=>1700 },
1 => { 60=> 700, 80=> 900, 100=>1100, 120=>1300, 140=>1500, 160=>1700, 170=>1900 },
2 => { 60=> 800, 80=>1000, 100=>1200, 120=>1400, 140=>1600, 160=>1800, 170=>2000 },
3 => { 60=> 900, 80=>1100, 100=>1300, 120=>1500, 140=>1700, 160=>1900, 170=>2100 },
5 => { 60=>1100, 80=>1300, 100=>1500, 120=>1700, 140=>1900, 160=>2100, 170=>2300 },
6 => { 60=>1200, 80=>1400, 100=>1600, 120=>1800, 140=>2000, 160=>2200, 170=>2400 },
);
print"愛知県から小包の地方を入力してください。\n";
chomp($areaname=<>);
my $areano = $area{$areaname};
#if (!defined($areano)) {
#print "地域名「$areaname」は正しくありません\n";
#exit;
#}
print"小包のサイズを入力してください。\n";
chomp($size=<>);
my $price = $postage{$areano}->{$size};
#if (!defined($price)) {
#print "サイズ「$size」は正しくありません\n";
#exit;
#}
$price =~ s/(\d)(\d{3})$/$1,$2/;
print "$areaname 地方は第 $areano 地帯です。\n$size サイズは $price 円になります\n";
このperlは動きますが、どのようにcgiを書き換えればいいのか分かりません。
my $price = $postage {$areano}->{$hash{'size'}};
とするとエラーになってしまいます。
分かる方いましたら、教えてください。
教えて頂けると、助かります。
よろしくお願いします。
お礼
おぉ!見事解決しました。 どうも、ありがとうございます。