From: Joachim Breitner Date: Tue, 12 Jun 2007 17:02:51 +0000 (+0000) Subject: Parser library X-Git-Tag: DEBIAN_metainit_0_0_1~95 X-Git-Url: http://git.nomeata.de/?p=darcs-mirror-metainit.git;a=commitdiff_plain;h=d67e8b81b8dc553b73c6035f7fe843b89f36bd1b Parser library --- diff --git a/MetaInit::Parse.pm b/MetaInit::Parse.pm new file mode 100644 index 0000000..8c62bba --- /dev/null +++ b/MetaInit::Parse.pm @@ -0,0 +1,24 @@ +package MetaInit::Parse + +sub parse { + my $fh = shift; + + my %parsed; + my $lastkey; + while (<$fh>) { + #last if /^$/; + if (my ($key, $value) = m/^([^ ].*): (.*)/) { + $parsed{$key} = $value; + $lastkey = $key; + } + elsif ($lastkey) { + s/^ //; + s/^\.$//; + $parsed{$lastkey} .= $_; + } else { + die "Cannot parse $!"; + } + } + return %parsed; +} +