24 Apr 2014 04:20:24 UTC
- Distribution: Data-Section-Simple
- Module version: 0.07
- Source (raw)
- Browse (raw)
- How to Contribute
- Issues (4)
- Testers (10917 / 5 / 24)
- KwaliteeBus factor: 1
- 92.45% Coverage
- License: perl_5
- Perl: v5.8.1
- Activity24 month
- Download (11.21KB)
- MetaCPAN Explorer
- Subscribe to distribution
- This version
- Latest version++ed by:8 non-PAUSE usersMIYAGAWA Tatsuhiko Miyagawaand 3 contributors
- Bruce Gray
- HIROSE Masaaki
- SEE ALSO
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; __DATA__ @@ foo.html <html> <body>Hello</body> </html> @@ bar.tt [% IF true %] Foo [% 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 Data::Section instead.
This module does not implement caching (yet) which means in every
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.
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
tellthe 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.
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_sectionis 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.
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.
Module Install Instructions
To install Data::Section::Simple, copy and paste the appropriate command in to your terminal.
perl -MCPAN -e shell install Data::Section::Simple
For more information on module installation, please visit the detailed CPAN module installation guide.