Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number
 
PerlMonks  

Re: perl module that does parsing to config files

by Fengor (Pilgrim)
on Nov 30, 2006 at 13:42 UTC ( [id://586934]=note: print w/replies, xml ) Need Help??


in reply to perl module that does parsing to config files

Module? no but maybe something like this?
#!/usr/bin/perl use strict; my $conffile = "ldirector.conf"; my %chash; my $key = ""; my $value = ""; my $virtual = ""; open(CONF, "< $conffile") or die "Couldn't open $conffile for reading: $!\n"; while(<CONF>) { chomp(); ($key,$value) = split(/=/); if ($key eq "virtual") { $virtual = $value; } elsif ($key =~ s/^\s+(.*)/$1/) { $chash{'virtual'}{$virtual}{$key}=$value; } else { $chash{$key}=$value; } }
Caveats: This code was thrown together in mere minutes. so no responsibility taken if it accientally wipes your hard drive and stuff ;) It should read your config file though and put your variables into a hash with the part before the = as key and the part after the = as the value. Saves the virtual value if it encounters one and add every line that follows as a key value pair to $chash{'virtual'}{$lastvirtualencountered}{$key} = $value pairs

So make sure that there is NO intendet line before the first virtual or else this code will not work correctly.

--
"WHAT CAN THE HARVEST HOPE FOR IF NOT THE CARE OF THE REAPER MAN"
-- Terry Pratchett, "Reaper Man"

Replies are listed 'Best First'.
Re^2: perl module that does parsing to config files
by liri (Novice) on Nov 30, 2006 at 14:26 UTC
    Thank you! I did some small modification to ignore new lines and print it right :)

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://586934]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others pondering the Monastery: (4)
As of 2024-03-29 12:01 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found