Hi,

I'm trying to use Template::Extract to extract data out of a string.

#!/usr/bin/perl use strict; use warnings; use Template::Extract; my $template = <<EOD; [% FOR records %] [% ... %] OAMPG: [% oampg %] Extent ID [% extent_id %] on allocation page [% +alloc_pg %] [% END %] EOD my $doc = <<EOD; OAMPG: 600 Extent ID 608 on allocation page 512 OAMPG: 128 Extent ID 616 on allocation page 512 EOD my $template_extract = Template::Extract->new(); my $data = $template_extract->extract($template, $doc); use Data::Dumper; print Dumper($data); print $template;

The problem is that it isn't capturing the 'alloc_pg' at the end of each line. Obviously, it is something simple...

$VAR1 = { 'records' => [ { 'alloc_pg' => '', 'extent_id' => '608', 'oampg' => '600' }, { 'alloc_pg' => '', 'extent_id' => '616', 'oampg' => '128' } ] }; [% FOREACH records %] [% ... %] OAMPG: [% oampg %] Extent ID [% extent_id %] on allocation page [% +alloc_pg %] [% END %]

UPDATE: found a workaround of adding a field terminator but it isn't that pretty:

$template = <<EOD; [% FOR records %] [% ... %] OAMPG: [% oampg %] Extent ID [% extent_id %] on allocation page [% +alloc_pg %]; [% END %] EOD $doc =~ s/\n/;\n/mg;

Any ideas on getting it to work without adding a field terminator?

Jason L. Froebe

Team Sybase member

No one has seen what you have seen, and until that happens, we're all going to think that you're nuts. - Jack O'Neil, Stargate SG-1


In reply to Extraction problem with Template::Extract by jfroebe

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.