Perfectly clear, thanks, works already :-)

Kind regards, 
Nora 



> -----Ursprüngliche Nachricht-----
> Von: Malesha, Sachin [mailto:sachin.male...@siemens.com]
> Gesendet: Montag, 21. Februar 2011 10:16
> An: HACKER Nora; beginners@perl.org
> Betreff: RE: Access single element of AOH
> 
> You cannot pass a string as an argument since you have an AOH, i.e. an array
> containing hash references. Arrays are indexed starting from 0.
> 
> If you want to pass a string, then you will need to construct HOH i.e Hash of
> Hash and then print the object as print "$object->{$stp}->{'stp'}\n";
> 
> Hope this clarifies.
> 
> Regards,
> Sachin
> -----Original Message-----
> From: HACKER Nora [mailto:nora.hac...@stgkk.at]
> Sent: Monday, February 21, 2011 2:39 PM
> To: Malesha, Sachin; beginners@perl.org
> Subject: AW: Access single element of AOH
> 
> Hi,
> 
> Thanks for your reply. The argument I want to pass on is not numeric but a
> string - is that possible?
> 
> Kind regards,
> Nora
> 
> 
> > -----Ursprüngliche Nachricht-----
> > Von: Malesha, Sachin [mailto:sachin.male...@siemens.com]
> > Gesendet: Montag, 21. Februar 2011 09:54
> > An: HACKER Nora
> > Cc: beginners@perl.org
> > Betreff: RE: Access single element of AOH
> >
> > I was able to print with the below line. Be sure that you are passing a 
> > value
> 0-
> > 2 as an argument to your script since you have only three elements in your
> > array.
> >
> > print "$object->[$stp]{'stp'}\n";
> >
> > Regards,
> > Sachin
> >
> > -----Original Message-----
> > From: HACKER Nora [mailto:nora.hac...@stgkk.at]
> > Sent: Monday, February 21, 2011 2:17 PM
> > To: beginners@perl.org
> > Subject: Access single element of AOH
> >
> > 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
> >
> >
> >
> 


--
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/


Reply via email to