#!/usr/bin/perl -w # mboxget - get a message from a mailbox # # usage: mboxget [mass-check-mbox-id ...] # # <@LICENSE> # Copyright 2004 Apache Software Foundation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # use strict; my $prog = $0; $prog =~ s@.*/@@; my @inputs; push @inputs, @ARGV; if (!@inputs) { while () { if (/^[Y.]\s+-?\d+\s+(\S+)\s+\S+/) { # mass-check format push @inputs, $1; } else { next if /^#/; chomp; push @inputs, $_; } } } foreach my $where (@inputs) { my ($file, $offset) = ($where =~ m/(.*?)(?:\.(\d+))?$/); open(INPUT, $file) || die("$prog: open $file failed: $!\n"); if ($offset) { seek(INPUT, $offset, 0) || die("$prog: seek $offset failed: $!\n"); } my $past = 0; while () { if ($past) { last if substr($_,0,5) eq "From "; } else { $past = 1; } print $_; } close INPUT; }