Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight

Re: subroutine help

by frozenwithjoy (Priest)
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 }

Replies are listed 'Best First'.
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?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1006174]
[1nickt]: my $x = $aohoaoh->[0]->{' foo'}->[0]->{'bar' }; should work
[thepkd]: not indexing
[thepkd]: getting data out of the ds
[choroba]: it depends. Give more details, please
[thepkd]: i used a series of {}'s but it dont work
[choroba]: You need square brackets for arrays
[GotToBTru]: you can certainly construct a single expression to access any part of the data structure, without using temp variables. but you might make it easier on yourself and any other poor soul who has to understand your code if you do
[thepkd]: to dereference i mean
LanX .oO( oh tempz, oh moretz)
[thepkd]: @GotToBTru Sure. But.

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (9)
As of 2016-12-06 13:25 GMT
Find Nodes?
    Voting Booth?
    On a regular basis, I'm most likely to spy upon:

    Results (104 votes). Check out past polls.