TieENV bindet die Serverumgebung an eine Klasse

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. s​os­@rolf­rost.de.