1
このコードに問題があります。いくつかの奇妙な理由で、複数の行に「グローバルシンボル...明示的なパッケージ名が必要です」というエラーメッセージが表示される
グローバルシンボル「$のプラン3」のようなエラーメッセージを生成し、複数の変数の複数行に明示的なパッケージ名
が必要です。
#!/usr/bin/perl
print "Content-type: text/html\n\n";
use CGI qw(:standard);
use CGI::Carp qw(warningsToBrowser fatalsToBrowser);
use strict;
my $recipient = '[email protected]';
my $firstname, $lastname, $emailaddress, $paymentplan, $pricipalamount;
my $errors, $fn1, $lnl2, $ea3, $pp4, $pa5;
my $paymentamount;
my $email;
my $plan1 = 24, $plan2 = 48, $plan3 = 60;
my $month;
$firstname = param("firstname");
$lastname = param("lastname");
$emailaddress = param("emailaddress");
$paymentplan = param("paymentplan");
$month = param("paymentplan");
$principalamount = param("principalamount");
$errors = 0;
$fn = 0;
$ln = 0;
$ea = 0;
$pp = 0;
$pa = 0;
if ($paymentplan == 1) {
$paymentplan = $plan1;
}
if ($paymentplan == 2) {
$paymentplan = $plan2;
}
if ($paymentplan == 3) {
$paymentplan = $plan3;
}
$paymount = ($amount * 1.14)/($plan - 2);
$email = "Welcome to the CSIT Loan Company, $firstname $lastname! \n\n Your
email address is: $emailaddress \n Your payment plan number is #$month \n
Your Prinicpal Amount is \$ $principalamount \n And your total is
\$$paymentamount! \n\n Thank you very much!";
if (index($address, "@") == -1) {
print "Please use an @ sign!";
$errors = 1;
}
if ($firstname eq "") {
$fn = 1;
$errors = 1;
}
if ($lastname eq "") {
$ln = 1;
$errors = 1;
}
if ($emailaddress eq "") {
$ea = 1;
$errors = 1;
}
if ($paymemtplan ne "24" && $paymentplan ne "48" && $paymentplan ne "60") {
$pp = 1;
$errors = 1;
}
if ($principalamount < "5000" || $principalamount > "50000") {
$pa = 1;
$errors = 1;
}
if ($errors == 0) {
print MAIL "To: $recipient\n";
print MAIL "From:apmycs2\n";
print MAIL "Subject:Server Validation\n\n";
print MAIL $email;
close(MAIL);
print "Success! this is an email to notify of successful validation";
}
else {
if ($fn == 1) {
print "<br>Please Enter your First Name!<br>";
}
if ($ln == 1) {
print "<br>Please Enter your Last Name!<br>";
}
if ($ea == 1) {
print "<br>Please Enter a valid Email Address!<br>";
}
if ($pp == 1) {
print "<br>Please Enter a Payment Plan of 1, 2, or 3!<br>";
}
if ($pa == 1) {
print "<br>Please Enter a Principal Amount between 5000 and 50000!<br>";
}
}
print "<br><p>Thank you!<p>";
複数の変数、 'my $ a、$ b、$ c'の代わりに' my($ a、$ b、$ c) 'を宣言します。これはPerlであり、Cではありません。 – Dada