Спасибо Денис, но спасение, видимо, вот в чем:

perl -e '
use warnings;
my ( $a, $b, $c );
if ( ( defined $a ) and ( defined $b ) ) {
    my $c = $a . $b;
}
if ( defined $c ) {
    print $c;
}
'

p.s. http://stackoverflow.com/questions/6691874/how-to-avoid-uninitialized-value

16.11.2011, 20:24, "Denis Evdokimov" <[email protected]>:
> Стоит ещё раз перечитать всё, что писалось в
> http://mail.pm.org/pipermail/moscow-pm/2011-October/thread.html#10865
>
> 16 ноября 2011 г. 20:18 пользователь Alexandr Gomoliako <[email protected]> 
> написал:
>> On Wed, Nov 16, 2011 at 6:16 PM, Nikolay Mishin <[email protected]> wrote:
>>> да, но все равно проблема у меня в том, что в perl v5.8.4
>>> $perl -e 'use warnings;my ($a,$b);$c=$a.$b;print $c'
>>> Use of uninitialized value in concatenation (.) or string at -e line 1.
>>> Use of uninitialized value in concatenation (.) or string at -e line 1.
>>
>> + no warnings 'uninitialized';
>> --
>> Moscow.pm mailing list
>> [email protected] | http://moscow.pm.org
>
> --
> Moscow.pm mailing list
> [email protected] | http://moscow.pm.org

--
Nikolay Mishin
-- 
Moscow.pm mailing list
[email protected] | http://moscow.pm.org

Ответить