Jayaprakash Rudraraju wrote:
>
> 1:32pm, IP packets from [EMAIL PROTECTED] delivered:
>
> > On Tue, Sep 30, 2003 at 11:07:24PM +0300, Gaal Yahas wrote:
> > > I like hash slices:
> > >
> > > ($one, $two, $three) = @hash{ qw/aaa bbb ccc/ };
> > >
> > > Sadly, this doesn't work as an lvalue:
> > >
> > > @hash{ qw/aaa bbb ccc/ } = ($one, $two, $three); # WRONG
> >
> > It doesn't?
> >
> > $ perl -wle '$one=1; $two=2; $three=3; @h{qw(a b c)} = ($one,$two,$three); print
> > %h'
> > c3a1b2
>
> You cannot print hash, like you can print a list.
A hash in list context returns a list, so yes, you can.
$ perl -le'
$, = $";
%h = ( a => 1, b => 2, c => 3, d => 4 );
print %h;
++$_ for %h;
print %h;
'
a 1 b 2 c 3 d 4
a 2 b 3 c 4 d 5
> Because elements in the
> hash are stored differently to optimize retrieval of hash elements.
That just means that they won't be in the same order that you put them
there.
John
--
use Perl;
program
fulfillment