I have about 40 possible departments, so I just wrote a small sub routine
sub write_it{
my ($dept,$output)=@_;
my $output_file=$dept."_access.log";
open DATA,">> $output_file")||die ("unable to open $output_file $!\n")
+;
print DATA $output."\n";
close DATA;
}
This works pretty great, I was able to read through one of the access logs and create the specific files in about 4 minutes. The one problem I have now is appending the user_code to the end of the access log line.
I tried to change the way I 'write' to the session_hash while reading the session logs to :
$session_hash($sessio_id}{$user}=$dept_code;
But this just screwed me up later down the line when I reading through the access logs. For this part I currently have:
open (HTTP,$access_log)||die ("unable to open $access_log $!\n");
while (my $line2=<HTTP>) {
chomp $line2;
my @fields=split /\s+/, $line2;
my $session=@fields[6];
my $session=substr($session,(index($session,"?")+12),(inde
+x($session,"|"))-(index($session,"?")+12) );
if (length($session) ==52) {
&write_it($session_hash{$session},$line2);
}
I tried to incorporate the user_code part into this and ended up getting the hash address everywhere. In other words, my file names became hash addresses and my user_code values where null. Surely I am missing something minor here. Thanks for all the help thus far, it has proven most superb.
|