Есть код, делающий сравнение двух массивов и заносящий в массив @diff элементы из массива @spisok2, не встречающиеся в массиве @spisok1 :
#! /usr/bin/perl
@spisok1=(1,2,3,4,5,6);
@spisok2=(1,2,3,4,5,7,8);
@diff=();
%seen = ();
@seen{@spisok1} = ();
foreach $item(@spisok2)
{
push(@diff, $item) unless exists $seen{$item};
}
printf ("@diff\n");
Выводит, как и должно :
>7 8
Код был взят где-то в интернетах и использовался 'как есть''.
Сейчас встала необходимость разобраться, и я обнаружил что не понимаю вот эту конструкцию:
@seen{@spisok1} = ();
Подскажите, плз, что это и как оно работает. Ну или где про это прочитать, потому что гуглем ничего внятного не нашлось.
Спасибо.