#!/usr/bin/env perl # $Id: lastupdate2js.pl,v 1.2 2004/04/29 01:18:09 yto Exp $ use strict; use Jcode; use Getopt::Long; $Getopt::Long::autoabbrev = 1; my %opt = (); GetOptions(\%opt, "number=s", "prefix=s", "output=s"); my $number = $opt{'number'} || 10; my $prefix = $opt{'prefix'} || "http://nais.to/~yto/tools/"; my $output_fn = $opt{'output'} || "a.js"; my $url_or_filename = shift; my $cont; if ($url_or_filename =~ /^\s*http/) { ($cont = get($url_or_filename)) or die "Can't get $url_or_filename\n"; } else { open(F, $url_or_filename) or die "Can't open $url_or_filename : $!\n"; $cont = join('', ); close(F); } my @list; while ($cont =~ m|((.+?)\s+\(since[^\)]+?\))|gm) { my ($line, $anc) = ($1, $2); if ($line =~ /last update (\d{4}-\d\d-\d\d)/ or $line =~ /since (\d{4}-\d\d-\d\d)/) { my $date = $1; $anc =~ s/(href=\")/$1$prefix/; #" push @list, [$date, $anc]; } } my $str; my $ctr = $number; my $predate = ""; foreach (sort {$b->[0] cmp $a->[0]} @list) { if ($predate ne $_->[0]) { $str .= "document.writeln('');\n" if ($predate ne ""); $str .= "document.writeln('
$_->[0]