my %set = (
# Populate this somehow.
);
my @keys = keys %set;
my $chosen_key = $keys[ rand @keys ];
my $chosen_value = delete $set{ $chosen_key };
####
my %set;
tie %set, 'DBM::Deep' => { file => 'my_file.db' };
%set = (
# Populate as desired, nesting arrays and hashes as appropriate.
);
####
my %set;
tie %set, 'DBM::Deep' => { file => 'my_file.db' };
my @keys = keys %set;
my $chosen_key = $keys[ rand @keys ];
my $chosen_value = delete $set{ $chosen_key };
####
my $set = DBM::Deep->new({
file => 'my_file.db',
});
my @keys = keys %{ $set };
my $chosen_key = $keys[ rand @keys ];
my $chosen_value = delete $set->{ $chosen_key };