On Aug 23, 2:00 am, [EMAIL PROTECTED] (Lists User) wrote:

*snip*

> my %grouplist;
> open HD,'groups.txt' or die $!;
>
> while(<HD>) {
>     chomp;
>     my @tmp = split;
>     my $groupname = shift @tmp;
>     $grouplist{$groupname} = [EMAIL PROTECTED];}
>
> close HD;

OK, thanks!

The Llama presents hashes as single value to a key, so I never thought
to make a hash of arrays.

Here is what I am using, and I think my comments are correct on how it
works:

while (<CONFIG>) {

        # Remove any extra carriage returns
        chomp;

        # for each line of the config file, place the entries
        # into a temp array
        my @temp = split;

        # pull the first entry, which is the group name, and put it
into
        # the variable $groupname to be used when creating the
'master' list
        my $groupname = shift @temp;

        # Create the hash named grouplist.  Each key is the value of
        $groupname.  The values
        # of the key are what is left of the line we are working with
contained in
        # the array @temp
        $grouplist{$groupname} = [EMAIL PROTECTED];

}
# Close the file handle on the config file
close CONFIG;


> Do you know how to loop through a hash?If not,please write back to the list.

Yes and no.

I did some searching and found the following.  I think I understand
most of it, I'm just not 100% clear on the 'for my' loops.

Or should I say that I understand them enough to lift the code from
the example and make it work with my script, but don't fully
understand the logic behind it.  :-)

for my $foo ( keys %grouplist ){

        *directory check/create code*

        # File Pull loop
        # This creates a temp variable named i.  It is used as a
counter
        # to tell the loop which entry in the array to pull the vru
        # number from.  The $# gets the number of the last value of
the
        # referenced array and uses it as the number of times to run
        # through the loop as well as the index for the array.
        for my $i ( 0 .. $#{ $grouplist{$groupname} } ) {
                *file pull code*
        }
}

Thank you everyone, this has been very helpful!


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/


Reply via email to