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

NAME

Text::Structured - Manipulate fixed-format pages

SYNOPSIS

  use Text::Structured;
  $st  = new Text::Structured($page);
  $foo = $st->get_text_at($r,$c,$len);
  $foo = $st->get_text_re($r,$re);

DESCRIPTION

Text::Structured is a class for manipulating fixed-format pages of text. A page is treated as a series of rows and columns with the row and column of the top left hand corner of the page being (0,0).

SUPERCLASSES

Text::StructuredBase

CLASS METHODS

new($page)

Create a new Text::Structured object. $page is a string containing a page of text.

OBJECT METHODS

get_text_at($r,$c,$len)

Returns a substring of length $len starting at row $r, column $c. This method will die() if $r < 0 or $r > the number of lines in the page. See also "substr()" in perlfunc.

get_text_re($r,$re)

Returns a string which is the result of applying the regular expression $re to row $r of the page. This method will die() if $r < 0 or $r > the number of lines in the page.

do_method()

This method can be used with the Text::FillIn module (available from CPAN) to fill a template using methods from Text::Structured e.g.

  use Text::FillIn;
  use Text::Structured;

  $page = q{foo bar
baz quux};
  $st = new Text::Structured($page);
  # set delimiters
  Text::FillIn->Ldelim('(:');
  Text::FillIn->Rdelim(':)');
  $template = new Text::FillIn;
  $template->object($st);
  $template->hook('&','do_method');
  $template->set_text(q{Oh (:&get_text_at(0,0,3):), it's a (:&get_text_re(1,(\w+)$):)!});
  $foo = $template->interpret;
  print "$foo\n";

Prints 'Oh foo, it's a quux!'.

AUTHOR

Paul Sharpe <paul@miraclefish.com>

COPYRIGHT

Copyright (c) 1999 Paul Sharpe. England. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.