#!/usr/bin/perl use strict; use warnings; my @records; for my $logfile_line( ){ next unless $logfile_line =~ m/logfiles.*\.log.*successfully/; my( $logfile, $day, $date, $time, $datfile, $size, $units ) = ( split( /\s/, $logfile_line ) )[ 0, 2, 3, 4, 9, 14, 15 ]; $logfile =~ s/.*\\(\w+)\.log/$1/; $datfile =~ s/.*\\(w+)\.dat/$1/; $units =~ s/\)$//; push @records, [ $logfile, "$day $date $time", $datfile, "$size $units" ]; } __DATA__ e:\logfiles\beardstownbase.log [3] Thu 22Jun06 08:07:19 - (006415) Sent file d:\data\58bn5904.dat successfully (25.0 Kb/sec - 859216 bytes)