GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  DATA::SECTION::SIMPLE (3)

.ds Aq ’

NAME

Data::Section::Simple - Read data from __DATA__

CONTENTS

SYNOPSIS



  use Data::Section::Simple qw(get_data_section);

  # Functional interface -- reads from caller package __DATA__
  my $all = get_data_section; # All data in hash reference
  my $foo = get_data_section(foo.html);

  # OO - allows reading from other packages
  my $reader = Data::Section::Simple->new($package);
  my $all = $reader->get_data_section;

  __DATA__

  @@ foo.html
  <html>
   <body>Hello</body>
  </html>

  @@ bar.tt
  [% IF true %]
    Foo
  [% END %]



DESCRIPTION

Data::Section::Simple is a simple module to extract data from __DATA__ section of the file.

LIMITATIONS

As the name suggests, this module is a simpler version of the excellent Data::Section. If you want more functionalities such as merging data sections or changing header patterns, use Data::Section instead.

This module does not implement caching (yet) which means in every get_data_section or get_data_section($name) this module seeks and re-reads the data section. If you want to avoid doing so for the better performance, you should implement caching in your own caller code.

BUGS

    __DATA__ appearing elsewhere

If you data section has literal __DATA__ in the data section, this module might be tricked by that. Although since its pattern match is greedy, __DATA__ appearing before the actual data section (i.e. in the code) might be okay.

This is by design — in theory you can tell the DATA handle before reading it, but then reloading the data section of the file (handy for developing inline templates with PSGI web applications) would fail because the pos would be changed.

If you don’t like this design, again, use the superior Data::Section.

    utf8 pragma

If you enable utf8 pragma in the caller’s package (or the package you’re inspecting with the OO interface), the data retrieved via get_data_section is decoded, but otherwise undecoded. There’s no reliable way for this module to programmatically know whether utf8 pragma is enabled or not: it’s your responsibility to handle them correctly.

AUTHOR

Tatsuhiko Miyagawa <miyagawa@bulknews.net>

COPYRIGHT

Copyright 2010- Tatsuhiko Miyagawa

The code to read DATA section is based on Mojo::Command get_all_data: Copyright 2008-2010 Sebastian Riedel

LICENSE

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

SEE ALSO

Data::Section Inline::Files
Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 DATA::SECTION::SIMPLE (3) 2014-04-24

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.