On May 28, 7:41 am, [EMAIL PROTECTED] (Jeevs) wrote:
> On May 28, 11:35 am, [EMAIL PROTECTED] (Jeevs) wrote:
>
> > @hashi = @hash{qw (jeevan, sarika)};
> > print @hashi;
>
> > this gives me the values of keys jeevan and sarika.. how does this
> > work ...

It works because that's the syntax for a hash slice--slices
use the @ to signify multiples of things.

> ok i got it ...
> and
> I think i was not clear in my query...
> I was expecting an hash slice to be
> %hash{qw(jeevan sarika)} which seems more logical as i said earlier...

Perhaps so.  Which is why ...

> WEll i was browsing for more information and found out it has been
> taken care of in perl6 :)

Well, "taken care of" if you think it's broken--not everyone does.

> where a new operator (qoute word) is introduced <> instead of qw() in
> perl5.
> u can write the above hash as
>
> @hashi = %hash<jeevan sarika>;
> print @hashi;
>
> and u can get the same output as above...

For the sake of discussion:

my %hash = ( a => 1, b => 2, c => 3 );

print "%: ",    %hash;
print "keys: ", keys %hash;
print "vals: ", values %hash;
print "[EMAIL PROTECTED]: ",  @hash{ qw( a b c ) };
print "[EMAIL PROTECTED]: ",  @hash{ keys %hash };
print "[EMAIL PROTECTED]: ",  @hash{ sort keys %hash };

__END__
%: c3a1b2
keys: cab
vals: 312
@1: 123
@2: 312
@3: 123

Cheers,

--
Brad


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/


Reply via email to