#!/usr/bin/perl -w $dirname = "2003/"; #----------------------------------------------- sub field_found(@_) { my $line = shift; my $fld = shift; my $val = shift; my $pos = index($line,$fld); if($pos == 0){ # found field my $flen = length $fld; my $llen = length $line; $$val = substr($line,$flen,$llen); } # found field } # opendir(DIR, $dirname) or die "can't opendir $dirname: $!"; while (defined($file = readdir(DIR))) { open(INPUT, $dirname . $file) or die; while($line=) { chomp($line); field_found($line,"",\$sender); field_found($line,"",\$to); field_found($line,"",\$from); field_found($line,"",\$message); @array = ("$sender","$to","$from","$message"); } close(INPUT); open INPUT, ">2003/clean/$file.clean" or die; # this here just to check array contents print INPUT "Sender: $array[0]\n"; print INPUT "To: $array[1]\n"; print INPUT "From: $array[2]\n"; print INPUT "Message: $array[3]\n"; close(INPUT); } closedir(DIR);