Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Re: subroutine help

by frozenwithjoy (Curate)
on Nov 29, 2012 at 07:05 UTC ( #1006174=note: print w/ replies, xml ) Need Help??


in reply to subroutine help

A few things to help you out:

  • Your code doesn't compile, because there is a semi-colon missing at the end of @array = $form =~ /[A-Z][a-z]?|\d+/ig
  • You assign the result of getweight(), which is in list context, to a scalar. As a result, $weight just equals 6 (the number of elements in the array). If I were you, I'd skip the subroutine and array and make weight a hash directly from the get-go:
#!/usr/bin/env perl use strict; use warnings; use feature 'say'; use Data::Printer; print "Enter a chemical formula: "; chomp( my $form = <> ); my %weight = $form =~ /[A-Z][a-z]?|\d+/ig; p %weight; __END__ Enter a chemical formula: C12H22O11 { C 12, H 22, O 11 }


Comment on Re: subroutine help
Select or Download Code
Re^2: subroutine help
by perlguru22 (Acolyte) on Nov 29, 2012 at 08:04 UTC
    Sorry I think my kindle modified it and removed the ;
      Oh, those pesky kindles! (I wonder whatever happened to the 'dog ate my semi-colon' excuse?)

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (5)
As of 2015-07-06 05:04 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (70 votes), past polls