Den Zugriff auf nicht existierende Schlüssel regeln
Der Zugriff auf eine nicht initialisierte Variable führt zu einer Fehlermeldung:
use strict;
use warnings;
print $ENV{FOO}; # Use of uninitialized value in print
Von daher müsste $ENV{FOO}
mit einem definierten Wert vorbelegt werden. Genau das kann automatisch erfolgen mit meinem Modul:
# Zugriff auf nicht existierende Schlüssel in ENV
# gibt einen definierten Leerstring zurück
package TieENV;
use strict;
use warnings;
use Tie::Hash;
use base ('Tie::StdHash');
sub TIEHASH{
my $class = shift;
my $self = do{my %h = %ENV; \%h};
return bless $self, $class;
}
sub FETCH{
my $self = shift;
my $key = shift;
return exists $self->{$key} ? $self->{$key} : '';
}
tie %ENV, __PACKAGE__;
1; ###
Die Anwendung ist ganz einfach:
use strict;
use warnings;
use TieENV;
print $ENV{FOO}; # Ok!
Datenschutzerklärung: Diese Seite dient rein privaten Zwecken. Auf den für diese Domäne installierten Seiten werden grundsätzlich keine personenbezogenen Daten erhoben. Das Loggen der Zugriffe mit Ihrer Remote Adresse erfolgt beim Provider soweit das technisch erforderlich ist. sos@rolfrost.de.