Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

data::section::simple(3pm) [debian man page]

Data::Section::Simple(3pm)				User Contributed Perl Documentation				Data::Section::Simple(3pm)

NAME
Data::Section::Simple - Read data from __DATA__ 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 perl v5.12.4 2011-09-18 Data::Section::Simple(3pm)

Check Out this Related Man Page

Template::Provider::FromDATA(3pm)			User Contributed Perl Documentation			 Template::Provider::FromDATA(3pm)

NAME
Template::Provider::FromDATA - Load templates from your __DATA__ section SYNOPSIS
use Template; use Template::Provider::FromDATA; # Create the provider my $provider = Template::Provider::FromDATA->new( { CLASSES => __PACKAGE__ } ); # Add the provider to the config my $template = Template->new( { # ... LOAD_TEMPLATES => [ $provider ] } ); # Render a template $template->process( 'mytemplate', { bar => 'Bar' } ); # ...and now the templates __DATA__ __mytemplate__ Foo [% bar %] __myothertemplate__ Baz, [% qux %]? DESCRIPTION
This module allows you to store your templates inline with your code in the "__DATA__" section. It will search any number of classes specified. CAVEAT
If you have two templates with the same name, this module will not understand the difference, it will simply return the first one found. If you wish, you can specify a fully qualified template name by prefixing the template with the module name (using "-" instead of "::" as a namespace separator), adding a "/" to separate the module name from the template name. $template->process( 'My-Templates/mytemplate', { bar => 'Bar' } ); INSTALLATION
perl Makefile.PL make make test make install METHODS
new( \%OPTIONS ) Create a new instance of the provider. You can specify a list of classes to be searched for templates via the "CLASSES" option. By omitting this option it will search "main". # defaults to 'main' $provider = Template::Provider::FromDATA->new; # look for templates in 'Foo' $provider = Template::Provider::FromDATA->new( { CLASSES => 'Foo' } ); # look for templates in 'Foo::Bar' and 'Foo::Baz' $provider = Template::Provider::FromDATA->new( { CLASSES => [ 'Foo::Bar', 'Foo::Baz' ] } ); By default, template data is lazy-loaded as they it is requested. If you wish to load up all template data upon initializtion, you can use the "PRELOAD" option. $provider = Template::Provider::FromDATA->new( { PRELOAD => 1 } ); _init( \%OPTIONS ) A subclassed method to handle the options passed to "new()". fetch( $name ) This is a subclassed method that will load a template via "_fetch()" if a non-reference argument is passed. _load( $name ) Loads the template via the "get_file()" sub and sets some cache information. get_file( $class, $template ) This method searches through $class for a template named $template. Returns the contents on success, undef on failure. This function was mostly borrowed from Catalyst::Helper's "get_file" function. ACCESSORS
classes An arrayref of the class names containing our templates. cache A hashref of file and template data. AUTHOR
Brian Cassidy <bricas@cpan.org> COPYRIGHT AND LICENSE
Copyright 2005-2011 by Brian Cassidy This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.14.2 2011-12-07 Template::Provider::FromDATA(3pm)
Man Page