TStanley has asked for the wisdom of the Perl Monks concerning the following question:
The end result that I would like to achieve, when I dump it out with Data::Dumper, would be:#!/opt/perl5/bin/perl -w use strict; use Parse::RecDescent; use vars qw ($grammar); $::RD_HINT=1; use Data::Dumper; $grammar = q( file: section(s) section: header assign(s?) header: '[' /\w+/ ']' { $item[2] } assign: pair comment(?) pair: /\w+/ '=' /\w+/ { [$item[1],$item[3]] } comment: /[\#\;]/ /.*/ { $item[2] } ); my $parser= Parse::RecDescent->new($grammar); my $text; { $/=undef; $text=<DATA>; } my $tree=$parser->file($text); print Dumper($tree); __DATA__ [Section1] key1=value1 key2=value2 #Comment2 key3=value3 [Section2] key4=value4 key5=value5 key6=value6 ;Comment 6
$VAR1 = bless( { 'Section2' => { 'key4' => 'value4', 'key5' => 'value5', 'key6' => [ 'value6', 'Comment 6' ] }, 'INI' => 'test.ini', 'Section1' => { 'key1' => 'value1', 'key2' => [ 'value2', 'Comment2' ], 'key3' => 'value3' } }, 'Config::Yacp' );
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: P::RD action sequence
by jryan (Vicar) on May 28, 2003 at 02:21 UTC | |
|
•Re: P::RD action sequence
by merlyn (Sage) on May 28, 2003 at 11:58 UTC | |
by TStanley (Canon) on May 28, 2003 at 16:33 UTC | |
|
•Re: P::RD action sequence
by merlyn (Sage) on May 27, 2003 at 20:42 UTC | |
|
Re: P::RD action sequence
by adamk (Chaplain) on May 28, 2003 at 11:31 UTC | |
|
Re: P::RD action sequence
by Daruma (Curate) on May 27, 2003 at 21:09 UTC |