The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

HTML::ERuby - ERuby processor for Perl.

SYNOPSIS

  use HTML::ERuby;
  my $compiler = HTML::ERuby->new;
  my $result = $compiler->compile(filename => './foo.rhtml');
  print $result;

DESCRIPTION

HTML::ERuby is a ERuby processor written in Perl.

parse ERuby document by Perl and evaluate by Ruby.

METHODS

$compiler = HTML::ERuby->new

constructs HTML::ERuby object.

$result = $compiler->compile(\%option)

compile ERuby document and return result. you can specify ERuby document as filename, scalarref or arrayref.

  $result = $compiler->compile(filename => $filename);
  
  $result = $compiler->compile(scalarref => \$rhtml);
  
  $result = $compiler->compile(arrayref => \@rhtml);

you can use the Perl variables in the ERuby document. supported types are String, Hash and Array only. NO Objects. See the simple example.

Perl code

  my %vars = (
       '@var' => 'foo', # Ruby instance variable
       'ARRAY_REF' => [qw(a b c)], # Ruby constant
       'hash_ref' => {foo => 'bar', 'bar' => 'baz'} # Ruby local variable
  );

  my $compiler = HTML::ERuby->new;
  print $compiler->compile(filename => './foo.rhtml', vars => \%vars);

ERuby document

  instance variable <%= @var %>
  <% ARRAY_REF.each do |v| %>
  <%= v %>
  <% end %>
  foo: <%= hash_ref['foo'] %>
  bar: <%= hash_ref['baz'] %>

Result

  instance variable foo
  
  a
  
  b
  
  c
  
  foo: bar
  bar: baz
  

CAVEATS

this module is experimental.

AUTHOR

Author <ikebe@edge.co.jp>

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO

Inline Inline::Ruby

http://www2a.biglobe.ne.jp/~seki/ruby/erb.html

http://www.modruby.net/