Hi,
kann mir jemand erklären, warum in der untenstehenden Routine text_build in der Version alt die Variablen $name und $value undefiniert sind, in der Version neu aber nicht. Was mich besonders stutzig macht ist, dass mail_text in beiden Versionen vorhanden ist.
Ist die Definition my (...) zu Programmbeginn nicht gleichwertig zu use vars ...?
#!/usr/bin/perl -w
use strict;
my (@names, @values, $mail_text, $name, $value); <===== alt
my (@names, @values, $mail_text); <===== neu (ok)
......
use strict;
use vars qw(@EXPORT_OK $MailRegEx); <===== alt
use vars qw(@EXPORT_OK $MailRegEx $name $value); <===== neu (ok)
....
sub text_build
{
$mail_text = $mail_text . $name . ": " . $value . "\n";
}
.....
use CGI qw/:standard/;
use CGI::Carp qw(fatalsToBrowser);
.....
$query = new CGI;
@names = $query->param;
.....
$mail_text="";
.....
$name= ...;
$value=...;
text_build();
.....