I have looked around more and found http://search.cpan.org/~chorny/MLDBM-2.04/lib/MLDBM.pm
This seemed to do the trick with a bit of modification to my code. However now an error 22 is output, which means that the values I am storing under keys is too large. I suppose it is worth mentioning that I my data is "wide" in the sense that each key will have 1000 or so values that I hoped to store on the array.
use MLDBM; # this gets SDBM and Data::Dumper
use Fcntl; # to get them constants
my $dbm;
my %hash;
unlink ('testmldb.dir');
unlink ('testmldb.pag');
$dbm = tie %hash, 'MLDBM', 'testmldbm', O_CREAT|O_RDWR, 0640 or di
+e $!;
while($html =~ m/example(key)regex(value)example/ig ) {
my $tempArray = $hash{$key};
push( @{ $tempArray } , $value);
$hash{$domain} = $tempArray;
undef $tempArray; #Just for fun-zies
}
MLDBM docs do say something about berkleyDB not having this limit, because of how it stores the values. (MLDBM apparently uses joined strings as my array instead of a real array) I will look into the berklyDB approach... I was hoping to avoid using a db and just a file, because I might as well just dump it into a temporary table in my database (which the program also uses) I would just like to take advantage of perls amazing hashes if I could.