#!/usr/local/bin/perl -w use strict; my %seen; my @logfiles = glob ( "*access_log" ); foreach my $logfile (@logfiles) { open ( MYLOG, ">>progress_safe" ); print MYLOG "Doing $logfile\n"; close ( MYLOG ); process_file( $logfile ); } sub process_file { my $fn = shift; open ( FH, "<$fn" ); while () { chomp; s/\W/_/g; my $new_empty_file = substr( $_, 0, 200 ); my $target = "$new_empty_file"; if ( $seen{$target} && ($fn ne $seen{$target}) ) { $seen{$target} = "$seen{$target} and $fn both have :$target\n"; open ( DUP, ">>dups_found_safe" ); print DUP "$seen{$target}"; close DUP; } else { $seen{$target} = "$fn"; } } }