[Moscow.pm] Отключение warnings 'uninitialized'
Nikolay Mishin
mi на ya.ru
Пт Окт 28 07:40:37 PDT 2011
у меня тут на днях лог получился >10Gb из-за uninitialized value,
а все из-за того, что не делал проверок на входные параметры функции, правда, я, когда писал этот модуль даже тесты с документацией не делал, но это как раз проинт его переписать
28.10.2011, 18:23, "Nikolay Mishin" <mi на ya.ru>:
> сорри (исправленный вариант)
>
> 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 mailing list
> moscow-pm на pm.org | http://moscow.pm.org
--
Nikolay Mishin
Подробная информация о списке рассылки Moscow-pm