Any-Renderer
view release on metacpan or search on metacpan
lib/Any/Renderer/UrlEncoded.pm view on Meta::CPAN
}
sub render
{
my ( $self, $data ) = @_;
TRACE ( "Rendering data as UrlEncoded" );
my $flat = Hash::Flatten::flatten ( $data, $self->{options}{FlattenOptions} );
DUMP ( $flat );
my $rv = join ( $self->{delim}, map { URI::Escape::uri_escape($_) . "=" . URI::Escape::uri_escape($flat->{$_}) } keys %$flat );
TRACE($rv);
return $rv;
}
sub requires_template
{
return 0;
}
lib/Any/Renderer/UrlEncoded.pm view on Meta::CPAN
my $list_ref = Any::Renderer::UrlEncoded::available_formats ();
Also, determine whether or not a format requires a template with requires_template:
my $bool = Any::Renderer::UrlEncoded::requires_template ( $format );
=head1 DESCRIPTION
Any::Renderer::UrlEncoded renders a Perl data structure as a URI encoded string.
Keys and values are escaped via URI::Escape::uri_escape. For example:
perl -MAny::Renderer -e "print Any::Renderer->new('UrlEncoded')->render({a => 1, b => [2,3]})"
results in:
a=1&b%3A1=3&b%3A0=2
This can be passed as a query string to a CGI script and reconstituted using Hash::Flatten::unflatten:
use CGI;
lib/Any/Renderer/XML.pm view on Meta::CPAN
DUMP ( $data );
my $charset = $self->{options}{Encoding} || 'ISO-8859-1';
my %xmlopts = (
'noattr' => 1,
'keyattr' => undef,
'keeproot' => 1,
'rootname' => 'output',
'xmldecl' => qq{<?xml version="1.0" encoding="$charset" standalone="yes"?>},
'contentkey' => undef,
'noescape' => 0,
);
while ( my ( $k, $v ) = each %{ $self->{ 'options' }->{ 'XmlOptions' } } )
{
# smash case to ensure the options override defaults
$xmlopts { lc $k } = $v;
}
if (my $varname = $self->{ 'options' }{ 'VariableName' }) {
# VariableName overrides the 'options' hash
( run in 0.353 second using v1.01-cache-2.11-cpan-c21f80fb71c )