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

Reply via email to