-------------- create.pl -------------- #!/usr/bin/perl use GDBM_File; use Fcntl; open( myfile, "term_doc_freq.out" ) or die; my $lineNo; my %wordInDoc = (); tie (%wordInDoc, GDBM_File, "TermFreqDocid.db", O_CREAT|O_RDWR, 0644) || die ("Cannot create or open phone.db"); while( ) { my($line) = $_; chomp $line; $lineNo++; @document = split (/ /, $line); $docID = $lineNo; foreach $term (@document) { $wordInDoc{$term}{$docID}=0; } foreach $term (@document) { ++$wordInDoc{$term}{$docID}; } } untie (%wordInDoc); exit; -------------- read.pl -------------- #!/usr/bin/perl use GDBM_File; use Fcntl; tie (%TermDocFreqHash, GDBM_File, "TermFreqDocid.db", O_RDONLY, 0777) || die ("Cannot open TermFreqDocid.db"); foreach $term ( sort( keys %TermDocFreqHash ) ) { print $term." "; my %tmp = $TermDocFreqHash{$term}; foreach $docID ( keys %tmp ) { print $TermDocFreqHash{$term}{$docID}; } } untie (%TermDocFreqHash); exit;