local $/ = undef; open(LOG, 'log_file') or die("couldn't open file"); binmode LOG; $log = ; foreach $file (@files){ $file_counts{$file}[0] =()= $log =~ //gi; $file_counts{$file}[1] =()= $log =~ //gi; } #### while(){ if(/GET\s.*\/(\S+)\.pdf\s/i and exists $file_counts{$1}){ $file_counts{$1}[0]++; } } #### GET /folder1/folder2/file.pdf HTTP ..etc