
#----------------------------- |
while(($key, $value) = each(%HASH)) { |
# do something with $key and $value |
} |
#----------------------------- |
foreach $key (keys %HASH) { |
$value = $HASH{$key}; |
# do something with $key and $value |
} |
#----------------------------- |
# %food_color per the introduction |
while(($food, $color) = each(%food_color)) { |
print "$food is $color.\n"; |
} |
# Banana is yellow. |
# |
# Apple is red. |
# |
# Carrot is orange. |
# |
# Lemon is yellow. |
foreach $food (keys %food_color) { |
my $color = $food_color{$food}; |
print "$food is $color.\n"; |
} |
# Banana is yellow. |
# |
# Apple is red. |
# |
# Carrot is orange. |
# |
# Lemon is yellow. |
#----------------------------- |
print |
|
"$food |
|
is |
|
$food_color{$food}.\n" |
|
#----------------------------- |
foreach $food (sort keys %food_color) { |
print "$food is $food_color{$food}.\n"; |
} |
# Apple is red. |
# |
# Banana is yellow. |
# |
# Carrot is orange. |
# |
# Lemon is yellow. |
#----------------------------- |
while ( ($k,$v) = each %food_color ) { |
print "Processing $k\n"; |
keys %food_color; # goes back to the start of %food_color |
} |
#----------------------------- |
# download the following standalone program |
#!/usr/bin/perl |
# countfrom - count number of messages from each sender |
$filename = $ARGV[0] || "-"; |
open(FILE, "<$filename") or die "Can't open $filename : $!"; |
while(<FILE>) { |
if (/^From: (.*)/) { $from{$1}++ } |
} |
foreach $person (sort keys %from) { |
print "$person: $from{$person}\n"; |
} |
#----------------------------- |



