my %periodic_table = ( 1 => {symbol=>'H', name => 'Hydrogen', weight => 1}, 2 => {symbol=>'He', name => 'Helium', weight => 4}, ) #### my %periodic_table = ( H => {atom_num => 1, name => 'Hydrogen', weight => 1}, He => {atom_num => 2, name => 'Helium', weight => 4}, # ... ); #### my ($atom_nr, $elmnt_name, $atom_weight) = @{$periodic_table{$chem_symbol}}{qw /atom_num name weight/}; #### my $atom_nr = $periodic_table{$chem_symbol}{atom_num}; my $name = $periodic_table{$chem_symbol}{name}; my $atom_weight = = $periodic_table{$chem_symbol}{weight};