print "<tr><td><font size=\"1\"><b>$key: </b></font>"; #печатаем год
foreach $elem(@{$numbers{$key}}){ #вытаскиваем массив номеров журнала из хеша, ключем
#которому должен являться определенный год
if($elem=~m/\/(\d+).(\d+)\.txt/){$nj=$1; $yj=$2;
if($nj eq $nomer && $yj eq $year){#текущий номер для просмотра выделяем красным:
$temp1=qq~<font size="1" color=red><b>$nj</a> </b></font>\n~;
push(@results123, $temp);
}
else{#остальные выделяем ссылкой
$temp2=qq~<font size="1"><b><a
href="$url?month=$nj&year=$yj" class="menu">$nj</a>
</b></font>\n~;
push(@results123, $temp2)
}
}
}
#дальнейшая конструкция называется преобразованием Рэндела
#Шварца, смысл которой заключается
#в том, чтобы отсортировать массив номеров журнала по возрастанию,
#т.к. при извлечении из хеша они будут выстраиваться в порядке
#1,11,12,2,3,4...
@sort123= map{ $_ -> [1]}
sort{$a->[0] <=> $b->[0]}
map{[/>(\d+)<\/a>/, $_]} @results123;
print @sort123; #печатаем табличку номеров журнала за 1995 год
print "</td></tr>";#закрываем строку таблички
#обнуляем временные массивы
$#results123=-1;
$#sort123-1;
#возвращаемся наверх и начинаем печатать строчку
#таблицы для следующих номеров следующего года.
}
print qq~</table></center>~;
}
Все вышеописанное выглядит в виде html примерно так:
Содержание по номерам
1995: |
1996:
|
1997:
|
1998:
|
1999:
|
2000:
|
2001:
5 |