Hello,

I want to get the value of a key of a Hash that is part of an Array of
Hashes, whereas the correct hash to work with is being determined by the
value of another key which is passed as an argument when calling the
script, but haven't yet figured out how. This is my AOH:

#!/usr/bin/perl 
use strict;
use warnings;

my $stp = $ARGV[0];

my $object = [
                {   'stp'       => 'AV'
                  , 'lieferung' => 'D:\mvbwiega\stp_be\LIEFERUNG'
                  , 'hvb'       => 'H:\stp-be\LIEFERUNG'
                  , 'tux'       => 'Releaseschein-2004\Server\Tuxedo'
                  , 'ubbconfig' => 'beispiel_ubbconfig.txt'
                },
                {   'stp'       => 'BE'
                  , 'lieferung' => 'D:\mvbwiega\stp_be\LIEFERUNG'
                  , 'hvb'       => 'H:\stp-be\LIEFERUNG'
                  , 'tux'       => 'Releaseschein-2004\Server\Tuxedo'
                  , 'ubbconfig' => 'beispiel_ubbconfig.txt'
                },
                {   'stp'       => 'PKV'
                  , 'lieferung' => 'D:\mvbwiega\stp_pkv\Releases'
                  , 'hvb'       => 'H:\stp-pkv\Releases'
                  , 'tux'       => 'RS_2004\Tuxedo'
                  , 'ubbconfig' => 'beispiel_ubbconfig.txt'
                }
             ];

And these were (some of) my failing attempts:

print "$object{'lieferung'}{$stp}\n";
==>     Global symbol "%object" requires explicit package name at
./test.pl line 71.
==>     Execution of ./test.pl aborted due to compilation errors.

print "$object->[$stp]{'lieferung'}\n";
==>     Argument "AV" isn't numeric in array element at ./test.pl line
72.
==>     D:\mvbwiega\stp_be\LIEFERUNG    # always result of first hash,
no matter which parameter given

print "$object->{$stp}{'lieferung'}\n";
==>     Pseudo-hashes are deprecated at ./test.pl line 72.
==>     No such pseudo-hash field "AV" at ./test.pl line 72.

Somehow I only seem to find examples/explanations with 'foreach'es,
looping over the whole AOH ... Is it even possible what I want to
realize? Or do I have to change my data structure to a Hash of Hashes,
would that be better/easier?

Thanks in advance, 
Nora 



Reply via email to