потому что $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
