diff options
author | Dominique Dumont <dod@debian.org> | 2021-06-06 16:47:10 +0200 |
---|---|---|
committer | Dominique Dumont <dod@debian.org> | 2021-06-07 19:14:00 +0200 |
commit | 3478a7bd23d7d646fc8afaea90f82a28b05b34c0 (patch) | |
tree | 424745a58220f9ce5f6bfe75df7ad62a32887f4c | |
parent | 7720356dd39bc1b3b1b0313d37cec1df5b40eb0c (diff) |
fix examples using DpkgSyntax role
-rw-r--r-- | examples/dpkg-new | 13 | ||||
-rw-r--r-- | examples/dpkg-parser.pl | 19 | ||||
-rw-r--r-- | examples/dpkg-writer.pl | 17 |
3 files changed, 19 insertions, 30 deletions
diff --git a/examples/dpkg-new b/examples/dpkg-new deleted file mode 100644 index 4fbb6241..00000000 --- a/examples/dpkg-new +++ /dev/null @@ -1,13 +0,0 @@ -# section comment -Name: Foo -# data comment -Version: 1.2 - -Name: Bar -Version: 1.3 -Files: file1, -# inline comment - file2 -Description: A very - . - long description diff --git a/examples/dpkg-parser.pl b/examples/dpkg-parser.pl index 53d9a8c9..c36b1289 100644 --- a/examples/dpkg-parser.pl +++ b/examples/dpkg-parser.pl @@ -5,6 +5,7 @@ use warnings; use 5.20.1; +# DpkgSyntax uses Log4perl, so we must initialise this module use Log::Log4perl qw(:easy); Log::Log4perl->easy_init($WARN); @@ -13,17 +14,19 @@ use Mouse ; with 'Config::Model::Backend::DpkgSyntax'; package main ; -use IO::File; -use Data::Dumper; +use Path::Tiny; +use YAML::XS; -my $file = 'examples/dpkg-test'; -my $fh = IO::File->new(); -$fh->open("< $file"); +# load control file +my $file = path('dpkg-test'); +# create your parser my $parser = MyParser->new() ; -my $data = $parser->parse_dpkg_file($file, $fh, 'yes', 1); -$fh->close; +# convert control file data in a Perl data structure +# documented in Config::Model::Backend::DpkgSyntax +my $data = $parser->parse_dpkg_file($file, 'yes', 1); -print Dumper $data; +# print this data in YAML format +print Dump $data; diff --git a/examples/dpkg-writer.pl b/examples/dpkg-writer.pl index 85b91f49..8182988d 100644 --- a/examples/dpkg-writer.pl +++ b/examples/dpkg-writer.pl @@ -5,6 +5,7 @@ use warnings; use 5.20.1; +# DpkgSyntax uses Log4perl, so we must initialise this module use Log::Log4perl qw(:easy); Log::Log4perl->easy_init($WARN); @@ -13,11 +14,13 @@ use Mouse ; with 'Config::Model::Backend::DpkgSyntax'; package main ; -use IO::File; -use Data::Dumper; +use Path::Tiny; my $data = [ - [ '# section comment', qw/Name Foo/, '# data comment', qw/Version 1.2/ ], + [ + '# section comment', qw/Name Foo/, + '# data comment', qw/Version 1.2/ + ], [ qw/Name Bar Version 1.3/ , Files => [qw/file1/, [ 'file2' , '# inline comment'] ] , @@ -27,9 +30,5 @@ my $data = [ my $parser = MyParser->new() ; - -my $fhw = IO::File->new ; -$fhw -> open ( 'examples/dpkg-new' ,'>',"," ) ; - -$parser->write_dpkg_file($fhw,$data) ; -$fhw->close; +# print control file content +say $parser->write_dpkg_file($data) ; |