в хэше может быть и "пустой" ключ: my %h = ('',1); say $h{''}
или не в этом проблема?On 04/23/2016 02:19 AM, Nikolay Mishin wrote: > Хорошая идея, но здесь еще проблема разделить пустой ключ и undef, > у меня для каждого из них разная обработка ( например, это может быть при > разборе роутинга) > > 22.04.2016, 18:57, "vividsnow" <[email protected]>: >> возможно подойдет dispatch hash: >> >> my %h = ( >> type1 => sub { ... }, >> type2 => sub { ... }, >> ... >> ); >> if (my $f = $h{$key}) { $f->() } >> else { ... } # default >> >> On 04/21/2016 03:10 PM, Nikolay Mishin wrote: >> >>> Привет Moscow-PM >>> >>> может я повторяюсь, но что делать >>> >>> на >>> >>> use Switch; >>> perlcritic жалуется >>> Found use of Switch. This module is deprecated by the Perl 5 Porters (Find >>> an alternative module) [Modules::ProhibitEvilModules] >>> >>> а на >>> >>> use v5.10.1; >>> no warnings 'experimental::smartmatch'; >>> в версиях perl < 5.17 (travis тестирует все с 5.10 вот пример вывода >>> https://travis-ci.org/mishin/Ftree-cpan/jobs/124726293) >>> пишет >>> Unknown warnings category 'experimental::smartmatch' >>> >>> и вот эта строка >>> no if $] >= 5.017011, warnings => 'experimental::smartmatch'; >>> >>> (http://blogs.perl.org/users/mike_b/2013/06/a-little-nicer-way-to-use-smartmatch-on-perl-518.html >>> ) >>> >>> http://www.effectiveperlprogramming.com/2013/06/experimental-features-now-warn-reaching-back-to-v5-10/ >>> >>> тоже не помогает >>> >>> так как надо писать? if else? >> -- >> Moscow.pm mailing list >> [email protected] | http://moscow.pm.org > -- Moscow.pm mailing list [email protected] | http://moscow.pm.org
