[![Build Status](https://travis-ci.org/sanko/Template-LiquidX-Tag-Dump.svg?branch=master)](https://travis-ci.org/sanko/Template-LiquidX-Tag-Dump) # NAME Template::LiquidX::Tag::Dump - Simple Perl Structure Dumping Tag (Functioning Custom Tag Example) # Synopsis use Template::Liquid; use Template::LiquidX::Tag::Dump; print Template::Liquid->parse("{%dump var%}")->render(var => [qw[some sort of data here]]); # With Data::Dump installed: ["some", "sort", "of", "data", "here"] # Description This is a dead simple demonstration of [extending Template::Liquid](https://metacpan.org/pod/Template::Liquid#Extending-Template::Liquid). This tag attempts to use [Data::Dump](https://metacpan.org/pod/Data::Dump) and [Data::Dumper](https://metacpan.org/pod/Data::Dumper) to create stringified versions of data structures... use Template::Liquid; use Template::LiquidX::Tag::Dump; warn Template::Liquid->parse("{%dump env%}")->render(env => \%ENV); ...or the entire current scope with `.`... use Template::Liquid; use Template::LiquidX::Tag::Dump; warn Template::Liquid->parse('{%dump .%}') ->render(env => \%ENV, inc => \@INC); ...or the entire stack of scopes with `.*`... use Template::Liquid; use Template::LiquidX::Tag::Dump; warn Template::Liquid->parse('{%for x in (1..1) %}{%dump .*%}{%endfor%}') ->render(); ...becomes (w/ Data::Dump installed)... do { my $a = [ [ { forloop => { first => 1, index => 1, index0 => 0, last => 1, length => 1, limit => 1, name => "x-(1..1)", offset => 0, rindex => 1, rindex0 => 0, sorted => undef, type => "ARRAY", }, x => 1, }, 'fix', ], ]; $a->[0][1] = $a->[0][0]; $a; } Notice even the internal `forloop` variable is included in the dump. # Notes This is a 5m hack and is subject to change ...I've included no error handling and it may be completly broken. For a better example, see [Template::LiquidX::Tag::Include](https://metacpan.org/pod/Template::LiquidX::Tag::Include). # See Also Liquid for Designers: http://wiki.github.com/tobi/liquid/liquid-for-designers [Template::Liquid](https://metacpan.org/pod/Template::Liquid#Extending-Template::Liquid)'s section on custom tags. # Author Sanko Robinson <sanko@cpan.org> - http://sankorobinson.com/ # License and Legal Copyright (C) 2009-2016 by Sanko Robinson <sanko@cpan.org> This program is free software; you can redistribute it and/or modify it under the terms of The Artistic License 2.0. See the `LICENSE` file included with this distribution or http://www.perlfoundation.org/artistic\_license\_2\_0. For clarification, see http://www.perlfoundation.org/artistic\_2\_0\_notes. When separated from the distribution, all original POD documentation is covered by the Creative Commons Attribution-Share Alike 3.0 License. See http://creativecommons.org/licenses/by-sa/3.0/us/legalcode. For clarification, see http://creativecommons.org/licenses/by-sa/3.0/us/.