#! /usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
# Data Structure
my %h = (
'a' => 'z',
'b' => 'y',
'c' => 'x',
'd' => 'w',
);
my @to_keep = qw{ a c };
my %keepers = map { $_ => 1 } @to_keep;
foreach ( keys %h ) {
if ( !exists $keepers{$_} ) {
delete $h{$_};
}
}
$Data::Dumper::Varname = 'h';
print Dumper( \%h );
$h1 = {
'c' => 'x',
'a' => 'z'
};
####
my @to_keep = qw{ a c };
my %keepers;
foreach ( @to_keep ) {
$keepers{$_}++;
}
$Data::Dumper::Varname = 'keepers';
print Dumper( \%keepers );
keepers1 = {
'c' => 1,
'a' => 1
};
####
my @to_keep = qw{ a c };
my %keepers;
%keepers = map { $_++ } @to_keep;
$Data::Dumper::Varname = 'keepers';
print Dumper( \%keepers );
$keepers1 = {
'a' => 'c'
};