LINUX.ORG.RU

История изменений

Исправление vtVitus, (текущая версия) :

сначала проверяется, есть ли в хэше %uniq ключ $_, если нет, то он записывается в хэш

нэт. $uniq{$_}++ - просто считает кол-во $_ элементов. Ну и ! чтоб получить когда в uniq нет $_ (т.е. когда $uniq{$_} is undef) в результат грепа. Просто сделай say Dumper(\%uniq); и сам увидишь.

say Dumper(\%uniq);

$VAR1 = {
          '5' => 8,
          '1' => 1,
          '12' => 1,
          '4' => 1,
          '11' => 1,
          '3' => 1,
          '10' => 2,
          '2' => 1
        };

чтоб совсем стало понятно выполни

my ($t1, $t2, $t3) = (undef, 1, 2);
say Dumper(!$t1++);
say Dumper(!$t2++);
say Dumper(!$t3++);

Исходная версия vtVitus, :

сначала проверяется, есть ли в хэше %uniq ключ $_, если нет, то он записывается в хэш

нэт. $uniq{$_}++ - просто считает кол-во $_ элементов. Ну и ! чтоб получить когда в uniq нет $_ в результат грепа. Просто сделай say Dumper(\%uniq); и сам увидишь.

say Dumper(\%uniq);

$VAR1 = {
          '5' => 8,
          '1' => 1,
          '12' => 1,
          '4' => 1,
          '11' => 1,
          '3' => 1,
          '10' => 2,
          '2' => 1
        };