[Moscow.pm] Отключение warnings 'uninitialized'
Nikolay Mishin
mi на ya.ru
Пт Окт 28 07:23:07 PDT 2011
сорри (исправленный вариант)
use 5.01;
use Carp;
my %filials;
$filials{foo} = 300;
my $ref_hash = \%filials;
my @test = qw/444 33a 2 d 300 ffd 22/;
for $test_val (@test) {
$filials{foo} = $test_val;
test_var( \%filials );
say $test_val;
}
sub test_var {
my $r = shift;
croak("Value ***$r->{foo}*** is not defined or not number")
if !defined $r->{foo} || $r->{foo} !~ /^\d+$/;
if ( $r->{foo} > 100 ) {
say '$r->{foo} > 100';
}
}
28.10.2011, 18:18, "Nikolay Mishin" <mi на ya.ru>:
> А почему не так
>
> use 5.01;
> use Carp;
> my %filials;
> $filials{foo} = 300;
>
> #$filials{boo} = 200;
> my $ref_hash = \%filials;
> my @test = qw/a 2 d 300 ffd 22/;
>
> #test_var($ref_hash);
>
> for $test_val (@test) {
> $filials{foo} = $test_val;
> test_var( \%filials );
> say $test_val;
> }
>
> sub test_var {
> my $r = shift;
> croak("Value ***$r->{foo}*** is not defined or not number")
> if !defined $r->{foo} || $r->{foo} != ~/^\d+$/;
>
> if ( $r->{foo} > 100 ) {
> say '$r->{foo} > 100';
> }
>
> }
>
> и тогда , если будет ошибка. ты не будешь ломать головку - и где из моих 1000 строк кода она может быть?
>
> 28.10.2011, 17:26, "Alexandr Gomoliako" <zzz на zzz.org.ua>:
>
>> On 10/28/11, Alexandr Gomoliako <zzz на zzz.org.ua> wrote:
>>> вместо
>>> if ($r->{foo} =~ /^\d+$/ && $r->{foo} > 100)
>> Я тут наверное даже мало написал, уже забыл:
>> if (defined $r->{foo} && $r->{foo} =~ /^\d+$/ && $r->{foo} > 100)
>>
>> --
>> Moscow.pm mailing list
>> moscow-pm на pm.org | http://moscow.pm.org
>
> --
> Nikolay Mishin
>
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
--
Nikolay Mishin
Подробная информация о списке рассылки Moscow-pm