У меня есть код, который пытается вызвать функцию несколько раз, учитывая список. У меня есть цикл for()
, а затем внутри цикла я вызываю функцию. Однако в строке с вызовом функции я получаю странную ошибку:
[Thu Aug 8 08:31:37 2013] x.cgi: "my" variable $_ masks earlier declaration in same statement at /usr/home/x/public_html/cgi-bin/x.cgi line 310.
[Thu Aug 8 08:31:37 2013] x.cgi: "my" variable $_ masks earlier declaration in same statement at /usr/home/x/public_html/cgi-bin/x.cgi line 310.
Ошибка странная, потому что в строке вообще нет my
.
Вот мой код, запустите с Perl 5.
sub cgiPrintForm {
my $fh = shift;
for (qw!betatest subscribe fname lname position department company address1 address2 city province postalcode country phone fax email hearofus comments!)
{
print $fh "\n$_: ",param($_) if defined(param($_));
}
print $fh
"\nReferer: ",referer(),
"\nRemote Host: ",remote_host(),
"\nRemote IP: ",remote_addr(),
"\nRemote Ident: ",remote_ident(),
"\nUser Agent: ",user_agent(),"\n";
}
Очевидно, какая-то магия Perl пошла не так, и автоматический my
сбивает меня с толку.
strict
иwarnings
- person hwnd   schedule 08.08.2013