An Array of Hashes

Perl March 3rd, 2009

# First lets define an array of hashes.

my @file_attachments = (
       {file => 'test1.zip',  price  => '10.00',  desc  => 'the 1st test'},
       {file => 'test2.zip',  price  => '12.00',  desc  => 'the 2nd test'},
       {file => 'test3.zip',  price  => '13.00',  desc  => 'the 3rd test'},
       {file => 'test4.zip',  price  => '14.00',  desc  => 'the 4th test'}
  );

or if

my @file_attachments = ([%file_info]);
       {file => 'test1.zip',  price  => '10.00',  desc  => 'the 1st test'},
       {file => 'test2.zip',  price  => '12.00',  desc  => 'the 2nd test'},
       {file => 'test3.zip',  price  => '13.00',  desc  => 'the 3rd test'},
       {file => 'test4.zip',  price  => '14.00',  desc  => 'the 4th test'}
  );

# Get the number of items (hashes) in the array.

my $file_no = scalar (@file_attachments);

# $file_no is now: 4 in this instance as there is 4 hashes in the array.

# Looping through the hash and printing out all the hash “file” elements.

for (my $i=0; $i < $file_no; $i++) {
	print '$file_attachments[$i]{'file'}  is:'. $file_attachments[$i]{'file'}."\n";
}

# Looping through the hash and printing out all the hash “price” elements.

for (my $i=0; $i < $file_no; $i++) {
	print '$file_attachments[$i]{'price'} is:'. $file_attachments[$i]{'price'}."\n";
}

# Looping through the hash and printing out all the hash “desc” elements.

for (my $i=0; $i < $file_no; $i++) {
	print '$file_attachments[$i]{'desc'} is:'. $file_attachments[$i]{'desc'}."\n";
}

#The loops will return this output:

$file_attachments[0]{’file’} is: test1.zip
$file_attachments[1]{’file’} is: test2.zip
$file_attachments[2]{’file’} is: test3.zip
$file_attachments[3]{’file’} is: test4.zip

$file_attachments[0]{’price’} is: 10.00
$file_attachments[1]{’price’} is: 12.00
$file_attachments[2]{’price’} is: 13.00
$file_attachments[3]{’price’} is: 14.00

$file_attachments[0]{’desc’} is: the 1st test
$file_attachments[1]{’desc’} is: the 2nd test
$file_attachments[2]{’desc’} is: the 3rd test
$file_attachments[3]{’desc’} is: the 4th test

credit: htmlfixit.com

Related Posts

Tags: ,



Leave a Comment

You must be logged in to post a comment.

Copyright © 2008 iBiz Network Co., Ltd. Powered by wordpress, Theme by ericulous