TOML - Parser for Tom's Obvious, Minimal Language.
use TOML qw(from_toml to_toml);
# Parsing toml
my $toml = slurp("~/.foo.toml");
my $data = from_toml($toml);
# With error checking
my ($data, $err) = from_toml($toml);
unless ($data) {
die "Error parsing toml: $err";
}
# Creating toml
my $toml = to_toml($data);
"TOML" implements a parser for Tom's Obvious,
Minimal Language, as defined at <https://github.com/mojombo/toml>.
"TOML" exports two subroutines,
"from_toml" and
"to_toml",
- How change how to de-serialize?
- You can change $TOML::PARSER for change how to
de-serialize.
example:
use TOML;
use TOML::Parser;
local $TOML::PARSER = TOML::Parser->new(
inflate_boolean => sub { $_[0] eq 'true' ? \1 : \0 },
);
my $data = TOML::from_toml('foo = true');
- from_toml
- "from_toml" transforms a string
containing toml to a perl data structure or vice versa. This data
structure complies with the tests provided at
<https://github.com/mojombo/toml/tree/master/tests>.
If called in list context,
"from_toml" produces a
("hash",
"error_string") tuple, where
"error_string" is
"undef" on non-errors. If there is an
error, then "hash" will be undefined
and "error_string" will contains
(scant) details about said error.
- to_toml
- "to_toml" transforms a perl data
structure into toml-formatted string.
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation; version 2.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
Darren Chamberlain <darren@cpan.org>
- Tokuhiro Matsuno <tokuhirom@cpan.org>
- Matthias Bethke <matthias@towiski.de>
- Sergey Romanov <complefor@rambler.ru>
- karupanerura <karupa@cpan.org>