задано / когда: как проверить хеш-значение с $ _ в качестве ключа для правильности - PullRequest
2 голосов
/ 21 декабря 2010

Есть ли другой способ проверить хэш-значение в четвертом «когда» на достоверность?

#!/usr/local/bin/perl
use warnings;
use 5.012;

my %hash;
$hash{one} = 0;
$hash{two} = 2;
$hash{three} = 0;

print ": ";
my $aw = <>;
chomp $aw;

given ( $aw ) {
    when ( 'cat' ) { say '$aw eq cat' }
    when ( 'mouse' ) { say '$aw eq mouse' }
    when ( 'sheep' ) { say '$aw eq sheep' }
    when ( !( !$hash{$_} ) ) { say '$hash{$_} is true' } ###
    default { say 'something else' }
}

Ответы [ 2 ]

2 голосов
/ 21 декабря 2010

Ну, я бы просто использовал более короткое:

when ( !!$hash{ $_ } ) { ... }

но да, вот и все.

0 голосов
/ 21 декабря 2010
when (%hash) { ... };

Это умный матч в конце концов!

...