#!/usr/bin/perl -n # charset="X-MAC-JAPANESE" # encoding="X-MAC-JAPANESE" # uuzilla.awk を a2p した丈け (多分動くと思ふ……) require 5.002; use strict; use warnings; BEGIN { $_{unsentmsgs} = "*:Netscape \x5C:Mail:Unsent Messages"; # Netscape Communicator (Mac OS 9) # "~/Library/Thunderbird/Profiles/*/Mail/Local Folders/Unsent Messages"; # Thunderbird (Mac OS X) open _, "< $_{unsentmsgs}" or die; while (<_>) { /^$/ and last; /^\S/ and my ($headerlabel) = split; $_{$headerlabel} .= $_; } close _; if (defined $_{'References:'}) { $_{'References:'} =~ s/>\s*\n\t> $_{unsentmsgs}" or die; select _; } if (/^BEGIN/) { @_ = localtime(my $t = time + $::i++); $_[5] += 1900; $_[6] = (qw/Sun Mon Tue Wed Thu Fri Sat/)[$_[6]]; $_[4] = (qw/Jan Feb Mar Apl May Jun Jul Aug Sep Oct Nov Dec/)[$_[4]]; printf <<".", @_[6, 4, 3, 2, 1, 0, 5], @_[6, 3, 4, 5, 2, 1, 0], $t + rand; From - %s %s %02d %02d:%02d:%02d %d Date: %s, %02d %s %d %02d:%02d:%02d +0900 Message-ID: <%.8f.$_{'Message-ID:'}> . print @_{'References:', 'X-Mozilla-News-Host:', 'From:', 'Newsgroups:', 'Subject:'}; $_{part} = (split)[-1]; $_{filename} && $_{part} !~ m#^1/# and print +(length($_{filename}) + $::sl > 70 && "\n"), " - $_{filename} ($_{part})\n\n"; } if (/^begin [0-7]{3,4} /) { $_{filename} = (split)[-1]; print +(length($_{filename}) + $::sl > 70 && "\n"), " - $_{filename} ($_{part})\n\n"; } /^BEGIN/ .. /^END/ and print +(/^END/ ? "\n" : /^BEGIN/ ? '' : $_); END { close _; }