--- trunk/data/convert.pl 2005/05/26 19:42:36 20 +++ trunk/data/convert.pl 2005/05/26 19:43:56 21 @@ -14,16 +14,19 @@ my $trivia = ''; my @qv; +my ($all_years,$all_titles,$all_quotes); + sub qv { my $t = shift || return; sub qv_print { my $v = shift || return ''; - $v =~ s/(.*)\s*,\s*(.+)/$2 $1/g; +# $v =~ s/(.*)\s*,\s*(.+)/$2 $1/g; push @qv, $v; + $all_quotes->{$v}++; return ''; } - $t =~ s#([_'])([^\1]+?)\1 \(qv\)#qv_print($2)#ge; + $t =~ s#([_'])([^_']+?)\1 \(qv\)#qv_print($2)#ge; } my $i = 0; @@ -37,8 +40,10 @@ if (/^#\s+(.*)\s*$/) { $title = $1; - if ($title =~ m#\s*\((\d+)\)\s*$#) { - $year = $1; + if ($title =~ m#^("*)(.*)\1\s*\((\d+)\)(:?\s*\(\w+\))*$#) { + $year = $3; + $all_titles->{$2}++; + $all_years->{$3}++; } else { $year = undef; } @@ -74,5 +79,21 @@ print "#$_\n"; } +# last if ($i > 1000); # XXX remove this! +} + +sub dump_data($$) { + my ($name,$hash) = @_; + + open(my $fh, "> $name") || die "can't open $name: $!"; + + foreach my $k (sort keys %{$hash}) { + print $fh "$k\t",$hash->{$k},"\n"; + } + + close($fh); } +dump_data('titles.data', $all_titles); +dump_data('quotes.data', $all_quotes); +dump_data('years.data', $all_years);