Создание серверных приложений на языке PERL



Смотри здесь фаер шоу. |

Шпионская программа - часть 2


foreach $line(@new){

foreach $m (@data){push @res, "$m" if($m=~m/^(.*)#$line$/)}

}

Отсеять из файла data.crypt разрешенные данные для agent007.crypt при помощи сравнения подстрок.

@sort=map{$_ -> [1]}

sort{$a->[0] cmp $b->[0]}

map{[/^(.*)#/, $_]}

grep{!$_{$_}++} @res;

Отсортировать данные для данного агента в алфавитном порядке по первой ячейке из общей таблицы data.crypt и убрать повторения одинаковых строк.

foreach $u('a' .. 'z'){

foreach $n(@sort){push @{$ha{$u}}, $n if($n=~m/^$u/)}

}

Создавть хеш массивов, где ключем будет буква, а значением будет массив из строк спецзаданий.

for $k(sort keys %ha){print "<a href=\"#$k\">$k</a> "}

Вывести линейку начальных букв, по которым будут сортироваться результаты.

for $k(sort keys %ha){

print "<a name=\"$k\"> </a><br>\n";

foreach $im(@{$ha{$k}}){

($autor, $pesniya, $position)=split /#/, $im;

print "$autor, $pesniya, $position<br>\n";

}

}

Вывести массивы, ассоциированные со значениями ключей букв. @{$ha{$k}} - просто обычный массив, доступ к которому зависит от значения ключа $k. Каждый элемент массива стостоит из строки с разделителями #, по нему и разделяет функция split ($autor, $pesniya, $position)=split /#/, $im;




Содержание  Назад  Вперед