in reply to Improving Memory Efficiency with Storable and Hashes of Scalars (code)
#!/usr/bin/perl use warnings; use strict; use Carp; use File::Slurp; use BerkeleyDB; my %html_files; my $totalSize = 0; my $fileName = 'brick'; my $db = tie %html_files, 'BerkeleyDB::Hash', -Filename => $fileName, -Flags => DB_CREATE; die "can't open db: $!\n" if ! $db; opendir TD, '.' or croak $!; foreach my $file (readdir TD) { next if $file eq $fileName; my $fileData = read_file($file); $html_files{$file} = $fileData; $totalSize += length($fileData); } print "Stored $totalSize bytes\n"; exit 0; # 'good' exit for the shell
|
|---|