#!/bin/perl -w use strict; if (scalar @ARGV != 3) { die "Usage: archive-maildir source archive age\n" . " or: archive-maildir -d source age\n"; } my ($source, $archive, $age); my $delete = 0; if ($ARGV[0] eq '-d') { shift @ARGV; $delete = 1; ($source, $age) = @ARGV; } else { ($source, $archive, $age) = @ARGV; } chdir "$ENV{HOME}/Maildir" or die "can't chdir"; system("mkdir -p $archive/cur $archive/new $archive/tmp") unless $delete; open LIST, "find $source/cur $source/new -type f -mtime +$age|" or die "can't fork"; while () { chomp; my $from = $_; if ($delete) { unlink($from) or die "can't unlink $from"; } else { s/^$source/$archive/; my $to = $_; rename($from, $to) or die "can't rename $from to $to"; } } close LIST;