Manual Reference Pages - DATA::SECTION::SIMPLE (3)
Data::Section::Simple - Read data from __DATA__
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;
[% IF true %]
[% END %]
Data::Section::Simple is a simple module to extract data from
__DATA__ section of the file.
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
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
__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 dont like this design, again, use the superior
If you enable utf8 pragma in the callers package (or the package
youre inspecting with the OO interface), the data retrieved via
get_data_section is decoded, but otherwise undecoded. Theres no
reliable way for this module to programmatically know whether utf8
pragma is enabled or not: its your responsibility to handle them
Tatsuhiko Miyagawa <firstname.lastname@example.org>
Copyright 2010- Tatsuhiko Miyagawa
The code to read DATA section is based on Mojo::Command get_all_data:
Copyright 2008-2010 Sebastian Riedel
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.
|perl v5.20.3 ||DATA::SECTION::SIMPLE (3) ||2014-04-24 |
Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.