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 + -
显示快捷键?