use warnings; use strict; use diagnostics; open (my $file, '<', $ARGV[0]) || die "lifes great when your a noob programmer :) $!" my @array; foreach my $line (<$file>) { push( @array, $line ); } foreach my $element (@array) { if ( $element =~ "Path" ) { print "\n$element"; } elsif ( $element =~ "KB" || $element =~ "MB" ) { my ( $md5, $blank, $file, $filesize, $bits ) = split /\s/, $element; print "$md5 $blank $file $filesize $bits\n"; } }