in reply to Re^7: How to avoid an alphabet and integer next to it in a string?
in thread How to avoid an alphabet and integer next to it in a string?

Think about it. How does that help (read again what output I asked for)? When you're trying to determine input and output to something...just print the something...
my $molform = <STDIN>; print "Molform before: [$molform]\n"; s/\s+$//, s/H(?![a-z])\d*//g for $molform; print "Molform after: [$molform]\n";
Although hazylife may have nailed the problem...you need to learn how to provide useful debugging information.
  • Comment on Re^8: How to avoid an alphabet and integer next to it in a string?
  • Download Code

Replies are listed 'Best First'.
Re^9: How to avoid an alphabet and integer next to it in a string?
by piscean (Acolyte) on Mar 21, 2014 at 19:40 UTC
    Using your code, input as C6H9
    ------Please enter single letter elements in caps only------ Enter the molecular formula of the compound = C6H9Hg Molform before: [C6H9 ] Molform after: [C6] The molecular weight of the above compound is = 72.0642

    Using your code, input as C6H9Hg

    ------Please enter single letter elements in caps only------ Enter the molecular formula of the compound = C6H9Hg Molform before: [C6H9Hg ] Molform after: [C6Hg] Molform after: [C6Hg] The molecular weight of the above compound is = 272.6542
    Thanks a ton! Yes, it worked!