use strict; use warnings; use Data::Dumper; use Chemistry::File::Formula; while() { chomp; my %formula = Chemistry::File::Formula->parse_formula("$_"); print "-" x 16, "\n"; print Dumper \%formula; print "-" x 16, "\n"; } __DATA__ C6H5OH C6H9 Hg #### C:\monks\calc_mass>perl calc_molecularmass.pl ---------------- $VAR1 = { 'H' => 6, 'O' => 1, 'C' => 6 }; ---------------- ---------------- $VAR1 = { 'H' => 9, 'C' => 6 }; ---------------- ---------------- $VAR1 = { 'Hg' => 1 }; ---------------- C:\monks\calc_mass>