Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
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 surveying the Monastery: (7)
As of 2015-05-25 21:27 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    In my home, the TV remote control is ...









    Results (491 votes), past polls