#!/usr/bin/perl -w use strict; sub parse { my $flatfile = shift; my %replace = ('' => "\t", '' => "\n", 'pad_3' => "\n", 'etc' => "etc", ); my @delete = ('', '', '', '', ') { foreach my $tracknumber () { for my $chr ('0'..'9', '-', '/', '.') { $tracknumber =~ s//$chr/g; } for (keys %replace) { $tracknumber =~ s/$_/$replace{$_}/g; } for (@delete) { $tracknumber =~ s/$_//g; } #open(OUTPUT, "+>>$output") # || die ("Cannot open output file$!\n"); #print OUTPUT "$tracknumber"; #close OUTPUT; print "$tracknumber"; } #close CLOG; } parse('somefile'); __DATA__ Since I have no idea what keylogger data looks like, I'll just have to fudge up something a test