printmaildir.pl
来自「一个C语言写的快速贝叶斯垃圾邮件过滤工具」· PL 代码 · 共 52 行
PL
52 行
#! /usr/bin/perl -w# printmaildir.pl -- (C) 2003 by Matthias Andree# This program reads a Maildir and prints in in UNIX mbox format on# stdout. It is redistributable in accordance to the terms of the# GNU GENERAL PUBLIC LICENSE V2use strict;use POSIX;sub read_dir($ ) { my $dir = shift; my @list = (); my $d; foreach $d (qw/cur new/) { opendir(DIR, $dir . "/$d") || die "can't opendir $dir/$d: $!"; push @list, grep { ! /^\./ && $_ =~ s|^|$dir/$d/|; } readdir(DIR); closedir DIR; } foreach (@list) { if (open F, $_) { my $head = <F>; my $last = $head; if ($head !~ /^From /) { print "From unknown\@example.invalid ", POSIX::ctime(time); } print $head; while(<F>) { $last = $_; if (/^From /){ print ">$_"; } else { print $_; } } if ($last !~ /\n$/) { print "\n"; } close F; } else { # open failed warn "can't open $_: $!"; } }}if (!@ARGV) { unshift @ARGV, "."; }foreach(@ARGV) { read_dir $_;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?