Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

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

by runrig (Abbot)
on Mar 21, 2014 at 18:45 UTC ( #1079330=note: print w/ replies, xml ) Need Help??


in reply to Re^5: 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?

The first code says Forbidden chars again.
So show the input and output, quit making us guess (and when I say 'output' I mean the new string, not the number you're trying to calculate).

As far as which approach, don't worry about it. Just pick one (as long as it works).


Comment on Re^6: How to avoid an alphabet and integer next to it in a string?
Re^7: How to avoid an alphabet and integer next to it in a string?
by piscean (Acolyte) on Mar 21, 2014 at 18:52 UTC
    Input was
    my $molform = <STDIN>;
    C6H9 and Output was:
    ------Please enter single letter elements in caps only------ Enter the molecular formula of the compound = C6H9 Forbidden chars The molecular weight of the above compound is =
      chomp(my $molform = <STDIN>);
        Forget chomp, just do:
        $molform =~ s/\s+$//;
      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.
        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!

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1079330]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (8)
As of 2014-12-22 03:31 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (110 votes), past polls