Thread Block vs. Hashref (25 answers)
Opened by barney at 2024-08-02 13:17

rosti
 2024-08-07 19:36
#196645 #196645
User since
2011-03-19
3492 Artikel
BenutzerIn
[Homepage]
user image
Hier mal was Sinnvolles unter diesem Thema:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# 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 = {  map{ $_ => $ENV{$_} } keys %ENV };
    return bless $self, $class;
}

sub FETCH{
    my $self = shift;
    my $key  = shift;   
    return exists $self->{$key} ? $self->{$key} : '';
}

tie %ENV, __PACKAGE__;

1;


So gibt es mit
Code (perl): (dl )
1
2
3
4
5
6
use strict;
use warnings;
use TieENV;

$, = "\n";
print $ENV{foo}, $ENV{PATH};


keine Fehlermeldung.

PS: Für die ganz Faulen könnte man in FETCH den übergebenen Key in Großbuchstaben umwandeln ;)

.
Last edited: 2024-08-08 09:25:08 +0200 (CEST)

View full thread Block vs. Hashref