#!/usr/bin/perl -w use strict; use HTTP::Date; print "Content-type: text/html\n\n"; my %ref; my $boarddir = './yabb/Boards'; my $boardurl = '/cgi-bin/yabb/YaBB.pl'; opendir(my $dir, $boarddir) or die("Cannot open Boards directory $!"); my @files = grep(/\.txt\Z/, readdir($dir)); closedir($dir); my @months = qw( Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec ); my $file; my $time; foreach $file (@files){ open(my $fh, "$boarddir/$file") or die("Cannot open File $!"); flock($fh, 4); while(<$fh>){ my ($id, $name, $user, $email, $datetime) = split(/\|/, $_); if($datetime =~ m#(\d+)/(\d+)/(\d+) at (\d\d:\d\d:\d\d)#){ my $num = $1; $num--; my $month = $months[$num]; $time = "$2 $month $3 $4 GMT"; $datetime = str2time($time); my $board; if($file =~ /(\w+)\./){ $board = $1; } $ref{$datetime} = ({ 'time' => $time, 'num' => $id, 'board' => $board, 'description' => $name, }); } } close($fh); } foreach(sort {$b <=> $a} keys %ref){ my %link = %{ $ref{$_} }; print qq[
$link{description}
was updated on $link{time}
]; last; }