Значения хеша являются скалярами, поэтому $have_reconsidered{lc($name)}++;
увеличивает скаляр $have_reconsidered{lc($name)}
. Если этот скаляр ранее не был определен или не существовал, ++
установит для него значение 1.
Целью этого кода, вероятно, является удаление дубликатов.
>perl -E"++$seen{$_} for qw( a a a b c a d ); say keys %seen;"
cabd
Я предпочитаю похожий, но другой подход, потому что он сохраняет порядок.
>perl -E"say grep !$seen{$_}++, qw( a a a b c a d );"
abcd