in reply to Re: Re: Re: A little config parsing.
in thread A little config parsing.

I find it easier to work with just one hash to store whatever I need than to have multiple arrays to store the same thing and try and guess the number of where something is stored to retrive it.
  • Comment on Re: Re: Re: Re: A little config parsing.

Replies are listed 'Best First'.
Re: Re: Re: Re: Re: A little config parsing.
by Chmrr (Vicar) on Jan 11, 2002 at 08:59 UTC

    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'