потому что $a и $b - специальные имена. см. perlvar:


$a
$b

Special package variables when using sort(), see sort. Because of this
specialness $a and $b don't need to be declared (using use vars , or
our()) even when using the strict 'vars' pragma. Don't lexicalize them
with my $a or my $b if you want to be able to use them in the sort()
comparison block or function.




4 декабря 2015 г., 11:04 пользователь Гришаев Анатолий
<[email protected]> написал:
> Хм, ловит переменную $с в коде, а $a не ловит
> ============================
>     my $a = { a => 1, b => 1 };
>     my $c;
>     my $b = "Hello \n";
>     print $b;
> ============================
>
>
>
>
>
> 3 декабря 2015 г., 23:13 пользователь Aliaksandr Zahatski
> <[email protected]> написал:
>
>> Приветствую!
>>
>> perlcritic -3 test.pl
>>
>> see like this:
>>
>> "$unused" is declared but not used at line 15, column 17.  Unused
>> variables clutter code and make it harder to read.  (Severity: 3)
>>
>>
>>
>> 3 декабря 2015 г., 20:49 пользователь Гришаев Анатолий
>> <[email protected]> написал:
>> > А что-нибудь от perl -critics  есть? Он использует в качестве данных
>> > исходный код, что правильнее чем Test::Vars.
>> >
>> > 3 декабря 2015 г., 19:46 пользователь Гришаев Анатолий
>> > <[email protected]>
>> > написал:
>> >
>> >> Нужно близко к анализу исходномого кода. А вешать на объекты всякую
>> >> магию
>> >> не хочется -- вешать ее надо на все, а это переписывание всего.
>> >> Более близко Test::Vars, но он использует В, и это лучше чем ничего.
>> >>
>> >>
>> >> 3 декабря 2015 г., 18:37 пользователь Natalya Savenkova
>> >> <[email protected]> написал:
>> >>
>> >>> http://search.cpan.org/~jjore/Devel-Spy-0.07/lib/Devel/Spy.pm вот это
>> >>> тоже ничего был.
>> >>> Предположу, что многое зависит от вашего конкретного случая.
>> >>>
>> >>> Sent from my iPhone
>> >>>
>> >>> On 03 Dec 2015, at 18:19, Гришаев Анатолий <[email protected]>
>> >>> wrote:
>> >>>
>> >>> Возможно проанализировать код автоматически на наличие переменных
>> >>> которые объявлены или даже что-то присвоено, но значение
>> >>> не используется или наоборот используется, но не было присвоено.
>> >>>
>> >>> А аналогично для ключей хэшей/массивов.
>> >>> Тут нужно  какое-то приближение, т.к. абсолютной точности не добиться.
>> >>>
>> >>>
>> >>>
>> >>> --
>> >>> Moscow.pm mailing list
>> >>> [email protected] | http://moscow.pm.org
>> >>>
>> >>>
>> >>> --
>> >>> Moscow.pm mailing list
>> >>> [email protected] | http://moscow.pm.org
>> >>>
>> >>
>> >
>> >
>> > --
>> > Moscow.pm mailing list
>> > [email protected] | http://moscow.pm.org
>> >
>> --
>> Moscow.pm mailing list
>> [email protected] | http://moscow.pm.org
>
>
>
> --
> Moscow.pm mailing list
> [email protected] | http://moscow.pm.org
>
-- 
Moscow.pm mailing list
[email protected] | http://moscow.pm.org

Ответить