Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re: Populating an array

by mr.nick (Chaplain)
on Mar 28, 2001 at 02:22 UTC ( [id://67660]=note: print w/replies, xml ) Need Help??


in reply to Populating an array

Here is a suggestion for you: use a hash of arrays to store your information. You can key the hash off the main recipe name ('sandwich', 'eggsalad') easily enough:
#!/usr/bin/perl use strict; my $file='mydata.txt'; my %hash; open IN,$file || die $!; my $key; while (<IN>) { ## remove the end-o-line chomp; ## blank line means a new recipe if (/^\s*$/) { undef $key; next; } ## stuff the key with something if (! defined $key) { $key=$_; next; } ## okay, split the line and add the parts push @{$hash{$key}},split /\s{2,}/,$_; } close IN; for my $key (sort keys %hash) { print "'$key' is made with: ".join(",",@{$hash{$key}})."\n"; }
Now, the only problem with this is that the ingredients have to be seperated with more than one space (as with your example).

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others imbibing at the Monastery: (5)
As of 2024-04-25 16:23 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found