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

Re: Populating an array

by mr.nick (Chaplain)
on Mar 28, 2001 at 02:22 UTC ( #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
Node Status?
node history
Node Type: note [id://67660]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (6)
As of 2021-05-11 15:45 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Perl 7 will be out ...





    Results (119 votes). Check out past polls.

    Notices?