Thanks, I have modified the code but it is still not working.... I have been looking at various examples but can not find anything that is helping me with this problem.
Why is would my code be rewriting the hash from scrap? Or rather what errors would I have made in order for it to rewrite the hash?
I believe I have removed any modifications to references but I am still not modifying the 'counter' property. Maybe I miss understood what you were explaining to me.
Also I have used the
{key1}{key2} format rather than the
-> format, this allows the program to execute but what is the difference?
Thanks in advance for all help.
Here is the modified code:
#Open database
dbmopen (%hitsdb,$db,0755) || print "can't dbmopen hitsb: $!";
$key = "$Year$Month$hour$referer";
if ($hitsdb{$page} || $hitsdb{$page}{$key}) {
$hitsdb{$page}{$key}{'counter'}++;
print "appended\n";
}
else {
$hitsdb{$page}{$key} = {
'year' => $Year,
'month' => $Month,
'day' => $month_day,
'referer' => $referer,
'counter' => 1
};
print "new instance and page\n";
}
#Close database
dbmclose (%hitsdb) || print "can't dbmclose hitsdb: $!";