Hallo,
in dem nachfolgenden Programm1 ist in der Unterroutine die Variable "fehlerausgabe" vorhanden und korrekt.
Programm1:
#!/usr/bin/perl -w
use strict;
my ($sprache, $query);
sub fehlerausgabe {
print "\$sprache=$sprache *";
exit ($_[2]);
}
sub erstaufruf
{fehlerausgabe("p1")}
use CGI;
use CGI::Carp qw(fatalsToBrowser);
print "Content-type: text/html\n\n";
my $query = new CGI;
$sprache="f";
erstaufruf();
Wenn ich die Routine wie im Programm2 auslagere, so ist die Variable "fehlerausgabe" nicht vorhanden., warum?
Programm2:
#!/usr/bin/perl -w
use strict;
my ($sprache, $query);
use fehlerausgabe;
sub erstaufruf
{fehlerausgabe("p1")}
use CGI;
use CGI::Carp qw(fatalsToBrowser);
print "Content-type: text/html\n\n";
my $query = new CGI;
$sprache="f";
erstaufruf();
fehlerausgabe.pm
sub fehlerausgabe {
# print "\$sprache=$sprache *";
# exit ($_[2]);
# }
1\.