I think I wasn't clear. What I meant is, have a key in your %sites_config hash whose value is an anonymous array, which contains all of your sites. Thusly, you don't have to keep track of the total_sites on your own, nor use numbers as keys in a hash, and so on. I'd probably write something like:
my %sites_config = parse_sites_config();
sub parse_sites_config {
open SITES_CFG, "< $sites_conf" or die "Couldn't open $sites_conf: $
+!";
my %options;
while(<SITES_CFG>) {
chomp;
s/\/\/\s+.*//g; # Get rid of comments;
next unless length;
my($key, $operator, $value) = split/\s*(=>?)\s*/, $_, 2;
if ($operator eq "=>") {
push @{$options{sites}}, {site_name => $key,
site_url => $value};
} else {
$options{sites}[-1]{$key} = $value;
}
}
return %options;
}
# Later..
for my $site (@{$sites_config{sites}}) {
print $site->{site_name}, "\n";
}
perl -pe '"I lo*`+$^X$\"$]!$/"=~m%(.*)%s;$_=$1;y^`+*^e v^#$&V"+@( NO CARRIER' |