The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.
Build.PL 012
COPYING 3400
Changelog 1120
Changes 054
LICENSE 0340
MANIFEST 1110
MANIFEST.SKIP 30
META.json 083
META.yml 1843
Makefile.PL 190
README 470
README.md 093
TOML.pm 3180
cpanfile 011
lib/TOML.pm 0217
minil.toml 06
t/broken.t 180
t/escape.t 160
t/example.t 870
19 files changed (This is a version diff) 989869
@@ -0,0 +1,12 @@
+# =========================================================================
+# THIS FILE IS AUTOMATICALLY GENERATED BY MINILLA.
+# DO NOT EDIT DIRECTLY.
+# =========================================================================
+
+use 5.008_001;
+use strict;
+
+use Module::Build::Tiny 0.035;
+
+Build_PL();
+
@@ -1,340 +0,0 @@
-		    GNU GENERAL PUBLIC LICENSE
-		       Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-     51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-			    Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users.  This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it.  (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.)  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
-  To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have.  You must make sure that they, too, receive or can get the
-source code.  And you must show them these terms so they know their
-rights.
-
-  We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
-  Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software.  If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
-  Finally, any free program is threatened constantly by software
-patents.  We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary.  To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-		    GNU GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License.  The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language.  (Hereinafter, translation is included without limitation in
-the term "modification".)  Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
-  1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
-  2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) You must cause the modified files to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    b) You must cause any work that you distribute or publish, that in
-    whole or in part contains or is derived from the Program or any
-    part thereof, to be licensed as a whole at no charge to all third
-    parties under the terms of this License.
-
-    c) If the modified program normally reads commands interactively
-    when run, you must cause it, when started running for such
-    interactive use in the most ordinary way, to print or display an
-    announcement including an appropriate copyright notice and a
-    notice that there is no warranty (or else, saying that you provide
-    a warranty) and that users may redistribute the program under
-    these conditions, and telling the user how to view a copy of this
-    License.  (Exception: if the Program itself is interactive but
-    does not normally print such an announcement, your work based on
-    the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
-    a) Accompany it with the complete corresponding machine-readable
-    source code, which must be distributed under the terms of Sections
-    1 and 2 above on a medium customarily used for software interchange; or,
-
-    b) Accompany it with a written offer, valid for at least three
-    years, to give any third party, for a charge no more than your
-    cost of physically performing source distribution, a complete
-    machine-readable copy of the corresponding source code, to be
-    distributed under the terms of Sections 1 and 2 above on a medium
-    customarily used for software interchange; or,
-
-    c) Accompany it with the information you received as to the offer
-    to distribute corresponding source code.  (This alternative is
-    allowed only for noncommercial distribution and only if you
-    received the program in object code or executable form with such
-    an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it.  For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable.  However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-  4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License.  Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
-  5. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Program or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
-  6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
-  7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-  8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded.  In such case, this License incorporates
-the limitation as if written in the body of this License.
-
-  9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation.  If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
-  10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission.  For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this.  Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
-			    NO WARRANTY
-
-  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
-  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
-		     END OF TERMS AND CONDITIONS
-
-	    How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    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; either version 2 of the License, or
-    (at your option) any later version.
-
-    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  02110-1301  USA
-
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
-    Gnomovision version 69, Copyright (C) year  name of author
-    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
-  `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
-  <signature of Ty Coon>, 1 April 1989
-  Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs.  If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library.  If this is what you want to do, use the GNU Library General
-Public License instead of this License.
@@ -1,112 +0,0 @@
-2013-04-24  Darren Chamberlain <dlc@sevenroot.org>
-
-	* COPYING, MANIFEST, README: Added another contributor, and GPL.
-
-2013-04-03  Darren Chamberlain <dlc@sevenroot.org>
-
-	* Changelog: Add Changelog, per issues/5
-
-2013-04-03  Darren Chamberlain <dlc@sevenroot.org>
-
-	* TOML.pm: Added forgotten contributor (sorry!)
-
-2013-04-02  Darren Chamberlain <dlc@sevenroot.org>
-
-	* MANIFEST, MANIFEST.SKIP: Add MANIFEST.SKIP to MANIFEST, and add
-	.travis.yml to it
-
-2013-04-02  Darren Chamberlain <dlc@sevenroot.org>
-
-	* .travis.yml: travis-ci.org config.
-
-2013-04-02  Darren Chamberlain <dlc@sevenroot.org>
-
-	* TOML.pm: Handle embedded \" in strings.
-
-2013-04-02  Darren Chamberlain <dlc@sevenroot.org>
-
-	* TOML.pm: Bump version number.
-
-2013-04-02  Darren Chamberlain <dlc@sevenroot.org>
-
-	* : Merge pull request #4 from tokuhirom/better-unescape Better unescape
-
-2013-04-02  tokuhirom <tokuhirom@gmail.com>
-
-	* TOML.pm, t/escape.t: Unescape characters correctly.
-
-2013-03-21  Darren Chamberlain <dlc@sevenroot.org>
-
-	* README: Fix formatting for Contributor section.
-
-2013-03-21  Darren Chamberlain <dlc@sevenroot.org>
-
-	* TOML.pm: Fix formatting for Contributor section.
-
-2013-03-19  Darren Chamberlain <dlc@sevenroot.org>
-
-	* README: Updated README from docs.
-
-2013-03-19  Darren Chamberlain <dlc@sevenroot.org>
-
-	* t/reparse.t: Test roundtripping data -> toml -> data.
-
-2013-03-19  Darren Chamberlain <dlc@sevenroot.org>
-
-	* TOML.pm: Code cleanups and new documentation.
-
-2013-03-19  Darren Chamberlain <dlc@sevenroot.org>
-
-	* MANIFEST: Add new tests to manifest.
-
-2013-03-19  Darren Chamberlain <dlc@sevenroot.org>
-
-	* t/example.t: Not sure why the structure was named $yaml, that
-	doesn't make sense.
-
-2013-03-19  Darren Chamberlain <dlc@sevenroot.org>
-
-	* : Merge pull request #3 from tokuhirom/master to_toml
-
-2013-03-19  tokuhirom <tokuhirom@gmail.com>
-
-	* t/to_toml.t: better test case
-
-2013-03-19  tokuhirom <tokuhirom@gmail.com>
-
-	* TOML.pm: Allow \z after number
-
-2013-03-19  tokuhirom <tokuhirom@gmail.com>
-
-	* TOML.pm, t/to_toml.t: TOML generator
-
-2013-03-09  Darren Chamberlain <dlc@sevenroot.org>
-
-	* README, TOML.pm: Update docs to reflect contributions.
-
-2013-03-09  Darren Chamberlain <dlc@sevenroot.org>
-
-	* TOML.pm, t/broken.t: Update test to emit line number and broken
-	line, as recommended by Matthias Bethke
-
-2013-03-08  Darren Chamberlain <dlc@sevenroot.org>
-
-	* README: Update README with new docs.
-
-2013-03-08  Darren Chamberlain <dlc@sevenroot.org>
-
-	* MANIFEST, TOML.pm, t/broken.t: On error, from_toml returns (undef,
-	$error) in list context, and undef in scalar context.
-
-2013-03-08  Darren Chamberlain <dlc@sevenroot.org>
-
-	* .gitignore: Ignore build stuff.
-
-2013-02-25  Darren Chamberlain <dlc@sevenroot.org>
-
-	* : Merge pull request #1 from sergeyromanov/master Replace 'vars' pragma
-
-2013-02-24  Darren Chamberlain <dlc@sevenroot.org>
-
-	* Parser for Tom's Obvious, Minimal Language
-
@@ -0,0 +1,54 @@
+Revision history for Perl extension TOML
+
+0.96 2015-02-18T14:37:31Z
+
+    - Just import Exporter's "import" instead of inheriting from it. (thanks to dolmen)
+
+0.95 2014-10-08T23:41:57Z
+
+    - Required TOML::Parser 0.04 or later. (bug fixed in this version)
+
+0.94 2014-05-22T13:28:16Z
+
+    - Required TOML::Parser 0.03 or later. (many bugs are fixed in this version)
+
+0.93 2014-05-18T14:33:11Z
+
+    - Use TOML::Parser for parsing.
+    - Now conforms to the specifications of CPAN::Changes::Spec.
+
+0.92 2013-04-24T07:49:02-04:00
+
+    - COPYING, MANIFEST, README: Added another contributor, and GPL.
+    - Changelog: Add Changelog, per issues/5
+    - TOML.pm: Added forgotten contributor (sorry!)
+    - MANIFEST, MANIFEST.SKIP: Add MANIFEST.SKIP to MANIFEST, and add .travis.yml to it
+    - .travis.yml: travis-ci.org config.
+    - TOML.pm: Handle embedded \" in strings.
+    - TOML.pm: Bump version number.
+    - : Merge pull request -4 from tokuhirom/better-unescape Better unescape
+    - TOML.pm, t/escape.t: Unescape characters correctly.
+    - README: Fix formatting for Contributor section.
+    - TOML.pm: Fix formatting for Contributor section.
+
+0.91 2013-03-19T09:01:13-04:00
+
+    - README: Updated README from docs.
+    - t/reparse.t: Test roundtripping data -> toml -> data.
+    - TOML.pm: Code cleanups and new documentation.
+    - MANIFEST: Add new tests to manifest.
+    - t/example.t: Not sure why the structure was named $yaml, that doesn't make sense.
+    - : Merge pull request -3 from tokuhirom/master to_toml
+    - t/to_toml.t: better test case
+    - TOML.pm: Allow \z after number
+    - TOML.pm, t/to_toml.t: TOML generator
+    - README, TOML.pm: Update docs to reflect contributions.
+    - TOML.pm, t/broken.t: Update test to emit line number and broken line, as recommended by Matthias Bethke
+    - README: Update README with new docs.
+    - MANIFEST, TOML.pm, t/broken.t: On error, from_toml returns (undef, $error) in list context, and undef in scalar context.
+    - .gitignore: Ignore build stuff.
+
+0.9 2013-02-25T09:18:27-08:00
+
+    - : Merge pull request -1 from sergeyromanov/master Replace 'vars' pragma
+    - Parser for Tom's Obvious, Minimal Language
\ No newline at end of file
@@ -0,0 +1,340 @@
+		    GNU GENERAL PUBLIC LICENSE
+		       Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+     51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+		    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+			    NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+
+	    How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    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; either version 2 of the License, or
+    (at your option) any later version.
+
+    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  02110-1301  USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) year  name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Library General
+Public License instead of this License.
@@ -1,13 +1,12 @@
-COPYING
-Changelog
-Makefile.PL
-MANIFEST
-MANIFEST.SKIP
-README
-t/broken.t
-t/escape.t
-t/example.t
+Build.PL
+Changes
+LICENSE
+META.json
+README.md
+cpanfile
+lib/TOML.pm
+minil.toml
 t/reparse.t
 t/to_toml.t
-TOML.pm
-META.yml                                 Module meta-data (added by MakeMaker)
+META.yml
+MANIFEST
\ No newline at end of file
@@ -1,3 +0,0 @@
-\.git
-\.gitignore
-\.travis\.yml
@@ -0,0 +1,83 @@
+{
+   "abstract" : "Parser for Tom's Obvious, Minimal Language.",
+   "author" : [
+      "Darren Chamberlain <darren@cpan.org>"
+   ],
+   "dynamic_config" : 0,
+   "generated_by" : "Minilla/v2.3.0",
+   "license" : [
+      "gpl_2"
+   ],
+   "meta-spec" : {
+      "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+      "version" : "2"
+   },
+   "name" : "TOML",
+   "no_index" : {
+      "directory" : [
+         "t",
+         "xt",
+         "inc",
+         "share",
+         "eg",
+         "examples",
+         "author",
+         "builder"
+      ]
+   },
+   "prereqs" : {
+      "configure" : {
+         "requires" : {
+            "Module::Build::Tiny" : "0.035",
+            "perl" : "5.008_001"
+         }
+      },
+      "develop" : {
+         "requires" : {
+            "Test::CPAN::Meta" : "0",
+            "Test::MinimumVersion::Fast" : "0.04",
+            "Test::PAUSE::Permissions" : "0.04",
+            "Test::Pod" : "1.41",
+            "Test::Spellunker" : "v0.2.7"
+         }
+      },
+      "runtime" : {
+         "requires" : {
+            "Exporter" : "5.57",
+            "TOML::Parser" : "0.04",
+            "perl" : "5.008005"
+         }
+      },
+      "test" : {
+         "requires" : {
+            "Test::More" : "0"
+         }
+      }
+   },
+   "provides" : {
+      "TOML" : {
+         "file" : "lib/TOML.pm",
+         "version" : "0.96"
+      }
+   },
+   "release_status" : "stable",
+   "resources" : {
+      "bugtracker" : {
+         "web" : "https://github.com/karupanerura/toml/issues"
+      },
+      "homepage" : "https://github.com/karupanerura/toml",
+      "repository" : {
+         "url" : "git://github.com/karupanerura/toml.git",
+         "web" : "https://github.com/karupanerura/toml"
+      }
+   },
+   "version" : "0.96",
+   "x_contributors" : [
+      "Sergey Romanov <Sergey.Romanov@emc.com>",
+      "tokuhirom <tokuhirom@gmail.com>",
+      "Darren Chamberlain <dlc@sevenroot.org>",
+      "karupanerura <karupa@cpan.org>",
+      "Olivier Mengué <dolmen@cpan.org>",
+      "karupanerura <karupanerura@users.noreply.github.com>"
+   ]
+}
@@ -1,21 +1,46 @@
---- #YAML:1.0
-name:               TOML
-version:            0.92
-abstract:           Parser for Tom's Obvious, Minimal Language.
+---
+abstract: "Parser for Tom's Obvious, Minimal Language."
 author:
-    - darren chamberlain <darren@cpan.org>
-license:            unknown
-distribution_type:  module
-configure_requires:
-    ExtUtils::MakeMaker:  0
+  - 'Darren Chamberlain <darren@cpan.org>'
 build_requires:
-    ExtUtils::MakeMaker:  0
-requires:  {}
-no_index:
-    directory:
-        - t
-        - inc
-generated_by:       ExtUtils::MakeMaker version 6.56
+  Test::More: '0'
+configure_requires:
+  Module::Build::Tiny: '0.035'
+  perl: 5.008_001
+dynamic_config: 0
+generated_by: 'Minilla/v2.3.0, CPAN::Meta::Converter version 2.143240'
+license: gpl
 meta-spec:
-    url:      http://module-build.sourceforge.net/META-spec-v1.4.html
-    version:  1.4
+  url: http://module-build.sourceforge.net/META-spec-v1.4.html
+  version: '1.4'
+name: TOML
+no_index:
+  directory:
+    - t
+    - xt
+    - inc
+    - share
+    - eg
+    - examples
+    - author
+    - builder
+provides:
+  TOML:
+    file: lib/TOML.pm
+    version: '0.96'
+requires:
+  Exporter: '5.57'
+  TOML::Parser: '0.04'
+  perl: '5.008005'
+resources:
+  bugtracker: https://github.com/karupanerura/toml/issues
+  homepage: https://github.com/karupanerura/toml
+  repository: git://github.com/karupanerura/toml.git
+version: '0.96'
+x_contributors:
+  - 'Sergey Romanov <Sergey.Romanov@emc.com>'
+  - 'tokuhirom <tokuhirom@gmail.com>'
+  - 'Darren Chamberlain <dlc@sevenroot.org>'
+  - 'karupanerura <karupa@cpan.org>'
+  - 'Olivier Mengué <dolmen@cpan.org>'
+  - 'karupanerura <karupanerura@users.noreply.github.com>'
@@ -1,19 +0,0 @@
-use strict;
-use ExtUtils::MakeMaker;
-
-my %clean = (
-    'FILES' => '$(DISTVNAME).tar$(SUFFIX) *.ppd'
-);
-
-my %dist = (
-    PREOP => 'perldoc -t TOML.pm > README',
-);
-
-WriteMakefile(
-    'NAME'          => 'TOML',
-    'AUTHOR'        => 'darren chamberlain <darren@cpan.org>',
-    'ABSTRACT_FROM' => 'TOML.pm',
-    'VERSION_FROM'  => 'TOML.pm',
-    'clean'         => \%clean,
-    'dist'          => \%dist,
-);
@@ -1,47 +0,0 @@
-NAME
-    TOML - Parser for Tom's Obvious, Minimal Language.
-
-SYNOPSIS
-        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);
-
-DESCRIPTION
-    "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",
-
-FUNCTIONS
-    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.
-
-AUTHOR
-    Darren Chamberlain <darren@cpan.org>
-
-CONTRIBUTORS
-    Tokuhiro Matsuno <tokuhirom@cpan.org>
-    Matthias Bethke <matthias@towiski.de>
-    Sergey Romanov <complefor@rambler.ru>
-
@@ -0,0 +1,93 @@
+[![Build Status](https://travis-ci.org/karupanerura/toml.svg?branch=master)](https://travis-ci.org/karupanerura/toml)
+# NAME
+
+TOML - Parser for Tom's Obvious, Minimal Language.
+
+# SYNOPSIS
+
+    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); 
+
+# DESCRIPTION
+
+`TOML` implements a parser for Tom's Obvious, Minimal Language, as
+defined at [https://github.com/mojombo/toml](https://github.com/mojombo/toml). `TOML` exports two
+subroutines, `from_toml` and `to_toml`,
+
+# FAQ
+
+- 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');
+
+# FUNCTIONS
+
+- 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](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.
+
+# SEE ALSO
+
+[TOML::Parser](https://metacpan.org/pod/TOML::Parser)
+
+# LICENSE
+
+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
+
+# AUTHOR
+
+Darren Chamberlain <darren@cpan.org>
+
+# CONTRIBUTORS
+
+- Tokuhiro Matsuno <tokuhirom@cpan.org>
+- Matthias Bethke <matthias@towiski.de>
+- Sergey Romanov <complefor@rambler.ru>
+- karupanerura <karupa@cpan.org>
@@ -1,318 +0,0 @@
-package TOML;
-
-# -------------------------------------------------------------------
-# TOML - Parser for Tom's Obvious, Minimal Language.
-#
-# Copyright (C) 2013 Darren Chamberlain <darren@cpan.org>
-#
-# 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
-# -------------------------------------------------------------------
-
-use strict;
-use base qw(Exporter);
-
-our ($VERSION, @EXPORT, $SYNTAX_ERROR, @_NAMESPACE);
-
-use B;
-use Carp qw(croak);
-use Text::Balanced qw(extract_bracketed);
-
-$VERSION = "0.92";
-@EXPORT = qw(from_toml to_toml);
-$SYNTAX_ERROR = q(Syntax error);
-
-my %UNESCAPE = (
-    q{b} => "\x08",
-    q{t} => "\x09",
-    q{n} => "\x0a",
-    q{f} => "\x0c",
-    q{r} => "\x0d",
-    q{"} => "\x22",
-    q{/} => "\x2f",
-    q{\\} => "\x5c",
-);
-
-sub to_toml {
-    my $stuff = shift;
-    local @_NAMESPACE = ();
-    _to_toml($stuff);
-}
-
-sub _to_toml {
-    my ($stuff) = @_;
-
-    if (ref $stuff eq 'HASH') {
-        my $res = '';
-        my @keys = sort keys %$stuff;
-        for my $key (grep { ref $stuff->{$_} ne 'HASH' } @keys) {
-            my $val = $stuff->{$key};
-            $res .= "$key = " . _serialize($val) . "\n";
-        } 
-        for my $key (grep { ref $stuff->{$_} eq 'HASH' } @keys) {
-            my $val = $stuff->{$key};
-            local @_NAMESPACE = (@_NAMESPACE, $key);
-            $res .= sprintf("[%s]\n", join(".", @_NAMESPACE));
-            $res .= _to_toml($val);
-        } 
-        return $res;
-    } else {
-        croak("You cannot convert non-HashRef values to TOML");
-    }
-}
-
-sub _serialize {
-    my $value = shift;
-    my $b_obj = B::svref_2object(\$value);
-    my $flags = $b_obj->FLAGS;
-
-    return $value
-        if $flags & ( B::SVp_IOK | B::SVp_NOK ) and !( $flags & B::SVp_POK ); # SvTYPE is IV or NV?
-
-    my $type = ref($value); 
-    if (!$type) {
-        return string_to_json($value);
-    } elsif ($type eq 'ARRAY') {
-        return sprintf('[%s]', join(", ", map { _serialize($_) } @$value));
-    } elsif ($type eq 'SCALAR') {
-        if (defined $$value) {
-            if ($$value eq '0') {
-                return 'false';
-            } elsif ($$value eq '1') {
-                return 'true';
-            } else {
-                croak("cannot encode reference to scalar");
-            }
-        }
-        croak("cannot encode reference to scalar");
-    }
-    croak("Bad type in to_toml: $type");
-}
-
-my %esc = (
-    "\n" => '\n',
-    "\r" => '\r',
-    "\t" => '\t',
-    "\f" => '\f',
-    "\b" => '\b',
-    "\"" => '\"',
-    "\\" => '\\\\',
-    "\'" => '\\\'',
-);
-sub string_to_json {
-    my ($arg) = @_;
-
-    $arg =~ s/([\x22\x5c\n\r\t\f\b])/$esc{$1}/g;
-    $arg =~ s/\//\\\//g if 1;
-    $arg =~ s/([\x00-\x08\x0b\x0e-\x1f])/'\\u00' . unpack('H2', $1)/eg;
-
-    return '"' . $arg . '"';
-}
-
-sub from_toml {
-    my $string = shift;
-    my %toml;   # Final data structure
-    my $cur;
-    my $err;    # Error
-    my $lineno = 0;
-
-    # Normalize
-    $string =
-        join "\n",
-        grep !/^$/,
-        map { s/^\s*//; s/\s*$//; $_ } 
-        map { s/#.*//; $_ }
-        split /[\n\r]/, $string;
-
-    while ($string) {
-        # strip leading whitespace, including newlines
-        $string =~ s/^\s*//s;
-        $lineno++;
-
-        # Store current value, to check for invalid syntax
-        my $string_start = $string;
-
-        # Strings
-        if ($string =~ s/^(\S+)\s*=\s*"(.+)"\s*//) {
-            my $key = "$1";
-            my $val = "$2";
-            $val =~ s/^"//;
-            $val =~ s/"$//;
-            $val =~ s!
-                \\([btnfr"/\\])
-                |
-                \\u([0-9A-Fa-f]{4})
-            !
-                if (defined $1) {
-                    $UNESCAPE{$1}
-                } else {
-                    pack "U", hex $2;
-                }
-            !gex;
-
-            if ($cur) {
-                $cur->{ $key } = $val;
-            }
-            else {
-                $toml{ $key } = $val;
-            }
-        }
-
-        # Boolean
-        if ($string =~ s/^(\S+)\s*=\s*(true|false)//i) {
-            my $key = "$1";
-            my $num = lc($2) eq "true" ? "true" : "false";
-            if ($cur) {
-                $cur->{ $key } = $num;
-            }
-            else {
-                $toml{ $key } = $num;
-            }
-        }
-
-        # Date
-        if ($string =~ s/^(\S+)\s*=\s*(\d\d\d\d\-\d\d\-\d\dT\d\d:\d\d:\d\dZ)\s*//) {
-            my $key = "$1";
-            my $date = "$2";
-            if ($cur) {
-                $cur->{ $key } = $date;
-            }
-            else {
-                $toml{ $key } = $date;
-            }
-        }
-
-        # Numbers
-        if ($string =~ s/^(\S+)\s*=\s*([+-]?[\d.]+)(?:\n|\z)//) {
-            my $key = "$1";
-            my $num = $2;
-            if ($cur) {
-                $cur->{ $key } = $num;
-            }
-            else {
-                $toml{ $key } = $num;
-            }
-        }
-
-        # Arrays
-        if ($string =~ s/^(\S+)\s=\s*(\[)/[/) {
-            my $key = "$1";
-            my $match;
-            ($match, $string) = extract_bracketed($string, "[]");
-            if ($cur) {
-                $cur->{ $key } = eval $match || $match;
-            }
-            else {
-                $toml{ $key } = eval $match || $match;
-            }
-        }
-
-        # New section
-        elsif ($string =~ s/^\[([^]]+)\]\s*//) {
-            my $section = "$1";
-            $cur = undef;
-            my @bits = split /\./, $section;
-
-            for my $bit (@bits) {
-                if ($cur) {
-                    $cur->{ $bit } ||= { };
-                    $cur = $cur->{ $bit };
-                }
-                else {
-                    $toml{ $bit } ||= { };
-                    $cur = $toml{ $bit };
-                }
-            }
-        }
-
-        if ($string eq $string_start) {
-            # If $string hasn't been modified by this point, then
-            # it contains invalid syntax.
-           (my $err_bits = $string) =~ s/(.+?)\n.*//s;
-            return wantarray ? (undef, "$SYNTAX_ERROR at line $lineno: $err_bits") : undef;
-        }
-    }
-
-    return wantarray ? (\%toml, $err) : \%toml;
-}
-
-1;
-
-__END__
-
-=head1 NAME
-
-TOML - Parser for Tom's Obvious, Minimal Language.
-
-=head1 SYNOPSIS
-
-    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); 
-
-=head1 DESCRIPTION
-
-C<TOML> implements a parser for Tom's Obvious, Minimal Language, as
-defined at L<https://github.com/mojombo/toml>. C<TOML> exports two
-subroutines, C<from_toml> and C<to_toml>,
-
-
-=head1 FUNCTIONS
-
-=over 4
-
-=item from_toml
-
-C<from_toml> transforms a string containing toml to a perl data
-structure or vice versa. This data structure complies with the tests
-provided at L<https://github.com/mojombo/toml/tree/master/tests>.
-
-If called in list context, C<from_toml> produces a (C<hash>,
-C<error_string>) tuple, where C<error_string> is C<undef> on
-non-errors. If there is an error, then C<hash> will be undefined and
-C<error_string> will contains (scant) details about said error.
-
-=item to_toml
-
-C<to_toml> transforms a perl data structure into toml-formatted
-string.
-
-=back
-
-=head1 AUTHOR
-
-Darren Chamberlain <darren@cpan.org>
-
-=head1 CONTRIBUTORS
-
-=over 4
-
-=item Tokuhiro Matsuno <tokuhirom@cpan.org>
-
-=item Matthias Bethke <matthias@towiski.de>
-
-=item Sergey Romanov <complefor@rambler.ru>
-
-=back
@@ -0,0 +1,11 @@
+requires 'TOML::Parser', '0.04';
+requires 'Exporter', '5.57';
+
+on configure => sub {
+    requires 'Module::Build::Tiny', '0.035';
+    requires 'perl', '5.008_001';
+};
+
+on test => sub {
+    requires 'Test::More';
+};
@@ -0,0 +1,217 @@
+package TOML;
+
+# -------------------------------------------------------------------
+# TOML - Parser for Tom's Obvious, Minimal Language.
+#
+# Copyright (C) 2013 Darren Chamberlain <darren@cpan.org>
+# -------------------------------------------------------------------
+
+use 5.008005;
+use strict;
+use warnings;
+use Exporter 'import';
+
+our ($VERSION, @EXPORT, @_NAMESPACE, $PARSER);
+
+use B;
+use Carp qw(croak);
+use TOML::Parser 0.03;
+
+$VERSION = "0.96";
+@EXPORT = qw(from_toml to_toml);
+$PARSER = TOML::Parser->new(inflate_boolean  => sub { $_[0] });
+
+sub to_toml {
+    my $stuff = shift;
+    local @_NAMESPACE = ();
+    _to_toml($stuff);
+}
+
+sub _to_toml {
+    my ($stuff) = @_;
+
+    if (ref $stuff eq 'HASH') {
+        my $res = '';
+        my @keys = sort keys %$stuff;
+        for my $key (grep { ref $stuff->{$_} ne 'HASH' } @keys) {
+            my $val = $stuff->{$key};
+            $res .= "$key = " . _serialize($val) . "\n";
+        }
+        for my $key (grep { ref $stuff->{$_} eq 'HASH' } @keys) {
+            my $val = $stuff->{$key};
+            local @_NAMESPACE = (@_NAMESPACE, $key);
+            $res .= sprintf("[%s]\n", join(".", @_NAMESPACE));
+            $res .= _to_toml($val);
+        }
+        return $res;
+    } else {
+        croak("You cannot convert non-HashRef values to TOML");
+    }
+}
+
+sub _serialize {
+    my $value = shift;
+    my $b_obj = B::svref_2object(\$value);
+    my $flags = $b_obj->FLAGS;
+
+    return $value
+        if $flags & ( B::SVp_IOK | B::SVp_NOK ) and !( $flags & B::SVp_POK ); # SvTYPE is IV or NV?
+
+    my $type = ref($value);
+    if (!$type) {
+        return string_to_json($value);
+    } elsif ($type eq 'ARRAY') {
+        return sprintf('[%s]', join(", ", map { _serialize($_) } @$value));
+    } elsif ($type eq 'SCALAR') {
+        if (defined $$value) {
+            if ($$value eq '0') {
+                return 'false';
+            } elsif ($$value eq '1') {
+                return 'true';
+            } else {
+                croak("cannot encode reference to scalar");
+            }
+        }
+        croak("cannot encode reference to scalar");
+    }
+    croak("Bad type in to_toml: $type");
+}
+
+my %esc = (
+    "\n" => '\n',
+    "\r" => '\r',
+    "\t" => '\t',
+    "\f" => '\f',
+    "\b" => '\b',
+    "\"" => '\"',
+    "\\" => '\\\\',
+    "\'" => '\\\'',
+);
+sub string_to_json {
+    my ($arg) = @_;
+
+    $arg =~ s/([\x22\x5c\n\r\t\f\b])/$esc{$1}/g;
+    $arg =~ s/\//\\\//g if 1;
+    $arg =~ s/([\x00-\x08\x0b\x0e-\x1f])/'\\u00' . unpack('H2', $1)/eg;
+
+    return '"' . $arg . '"';
+}
+
+sub from_toml {
+    my $string = shift;
+    local $@;
+    my $toml = eval { $PARSER->parse($string) };
+    return wantarray ? ($toml, $@) : $toml;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+TOML - Parser for Tom's Obvious, Minimal Language.
+
+=head1 SYNOPSIS
+
+    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); 
+
+=head1 DESCRIPTION
+
+C<TOML> implements a parser for Tom's Obvious, Minimal Language, as
+defined at L<https://github.com/mojombo/toml>. C<TOML> exports two
+subroutines, C<from_toml> and C<to_toml>,
+
+=head1 FAQ
+
+=over 4
+
+=item How change how to de-serialize?
+
+You can change C<$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');
+
+=back
+
+=head1 FUNCTIONS
+
+=over 4
+
+=item from_toml
+
+C<from_toml> transforms a string containing toml to a perl data
+structure or vice versa. This data structure complies with the tests
+provided at L<https://github.com/mojombo/toml/tree/master/tests>.
+
+If called in list context, C<from_toml> produces a (C<hash>,
+C<error_string>) tuple, where C<error_string> is C<undef> on
+non-errors. If there is an error, then C<hash> will be undefined and
+C<error_string> will contains (scant) details about said error.
+
+=item to_toml
+
+C<to_toml> transforms a perl data structure into toml-formatted
+string.
+
+=back
+
+=head1 SEE ALSO
+
+L<TOML::Parser>
+
+=head1 LICENSE
+
+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
+
+=head1 AUTHOR
+
+Darren Chamberlain <darren@cpan.org>
+
+=head1 CONTRIBUTORS
+
+=over 4
+
+=item Tokuhiro Matsuno <tokuhirom@cpan.org>
+
+=item Matthias Bethke <matthias@towiski.de>
+
+=item Sergey Romanov <complefor@rambler.ru>
+
+=item karupanerura <karupa@cpan.org>
+
+=back
@@ -0,0 +1,6 @@
+name    = "TOML"
+badges  = ["travis"]
+license = "gpl_2"
+
+# Module::Build::Tiny
+module_maker = "ModuleBuildTiny"
\ No newline at end of file
@@ -1,18 +0,0 @@
-#!/usr/bin/perl
-
-use strict;
-use Test::More tests => 3;
-
-use_ok("TOML");
-
-# Syntactically invalid example, originally from https://rt.cpan.org/Ticket/Display.html?id=83836
-my $toml = q{foo = "bar'};
-my $new;
-my $err;
-my $serr = $TOML::SYNTAX_ERROR = $TOML::SYNTAX_ERROR ;
-
-$new = from_toml($toml);
-is($new, undef, "Invalid syntax returns <undef> in scalar context");
-
-($new, $err) = from_toml($toml);
-like($err, qr/^$serr/, 'Invalid syntx returns <undef>, $err in list context');
@@ -1,16 +0,0 @@
-use strict;
-use warnings;
-use utf8;
-use Test::More tests => 4;
-
-use_ok("TOML");
-
-my ($dat, $err) = from_toml(<<'...');
-all="\b\t\n\f\r\"\/\\"
-unichar="\u0022"
-...
-ok(!$err) or diag $err;
-
-is($dat->{all}, "\x08\x09\x0A\x0C\x0D\x22\x2F\x5C");
-is($dat->{unichar}, q{"});
-
@@ -1,87 +0,0 @@
-#!/usr/bin/perl
-
-use strict;
-use Test::More tests => 2;
-
-use_ok("TOML");
-
-# Original structre
-my $toml = q{# This is a TOML document. Boom.
-
-title = "TOML Example"
-
-[owner]
-name = "Tom Preston-Werner"
-organization = "GitHub"
-bio = "GitHub Cofounder & CEO\nLikes tater tots and beer."
-dob = 1979-05-27T07:32:00Z # First class dates? Why not?
-
-[database]
-server = "192.168.1.1"
-ports = [ 8001, 8001, 8002 ]
-connection_max = 5000
-enabled = true
-
-[servers]
-
-  # You can indent as you please. Tabs or spaces. TOML don't care.
-  [servers.alpha]
-  ip = "10.0.0.1"
-  dc = "eqdc10"
-
-  [servers.beta]
-  ip = "10.0.0.2"
-  dc = "eqdc10"
-
-[clients]
-data = [ ["gamma", "delta"], [1, 2] ] # just an update to make sure parsers support it
-};
-
-# Expected structure
-my $data = {
-          'database' => {
-                        'ports' => [
-                                   '8001',
-                                   '8001',
-                                   '8002'
-                                 ],
-                        'connection_max' => '5000',
-                        'server' => '192.168.1.1',
-                        'enabled' => 'true'
-                      },
-          'owner' => {
-                     'dob' => '1979-05-27T07:32:00Z',
-                     'name' => 'Tom Preston-Werner',
-                     'bio' => 'GitHub Cofounder & CEO
-Likes tater tots and beer.',
-                     'organization' => 'GitHub'
-                   },
-          'clients' => {
-                       'data' => [
-                                 [
-                                   'gamma',
-                                   'delta'
-                                 ],
-                                 [
-                                   '1',
-                                   '2'
-                                 ]
-                               ]
-                     },
-          'servers' => {
-                       'alpha' => {
-                                  'dc' => 'eqdc10',
-                                  'ip' => '10.0.0.1'
-                                },
-                       'beta' => {
-                                 'dc' => 'eqdc10',
-                                 'ip' => '10.0.0.2'
-                               }
-                     },
-          'title' => 'TOML Example'
-        };
-
-
-
-my $new = from_toml($toml);
-is_deeply($data, $new, "Structure matches example data");