in reply to hash on memory or disk?

If you don't always want the value, just use FIRSTKEY/NEXTKEY, like
{ my $X = tied %maillist; my $key = $X->FIRSTKEY; while(defined $key ){ next unless $key =~ /^rubber/; ... $key = $X->NEXTKEY($key); } }
See perltie for more.