У меня возникли проблемы с получением Params :: Подтвердить работу, как я хочу.Установка значения по умолчанию с Params :: Проверка, если неопределенное значение передано в
#!/usr/local/bin/perl -w
use strict;
use Params::Validate qw/:all/;
use Data::Dumper;
sub foo {
my %args = validate(@_, {
bar => {
default => 99,
# TODO - Somehow use a callback to return a default if undefined
# ??!!??
# callbacks => { call_me => sub { return 99 if !defined shift }},
},
});
# $args{bar} //= 99; # Don't want to define default in 2 places
print Dumper(\%args);
}
foo({ bar => undef });
Так как я устанавливаю/тест для UNDEF в списке аргументов и заменить с указанным значением «по умолчанию» с Params :: Validate ??
вызов foo без ссылки на бар. –