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 )