unsupported
     !�Â¿Ç      !File not found.
  0   #ˆl–Ãa¾”ªe¶… º [¸Ë— ò˜´oË„­8×_‹uÐb&=LV[(ÁÉ ?÷     #use strict;
use warnings;
package Data::Section;
# ABSTRACT: read multiple hunks of data out of your DATA section
$Data::Section::VERSION = '0.200007';
use Encode qw/decode/;
use MRO::Compat 0.09;
use Sub::Exporter 0.979 -setup => {
  groups     => { setup => \'_mk_reader_group' },
  collectors => { INIT => sub { $_[0] = { into => $_[1]->{into} } } },
};

#pod =head1 SYNOPSIS
#pod
#pod   package Letter::Resignation;
#pod   use Data::Section -setup;
#pod
#pod   sub quit {
#pod     my ($class, $angry, %arg) = @_;
#pod
#pod     my $template = $self->section_data(
#pod       ($angry ? "angry_" : "professional_") . "letter"
#pod     );
#pod
#pod     return fill_in($$template, \%arg);
#pod   }
#pod
#pod   __DATA__
#pod   __[ angry_letter ]__
#pod   Dear jerks,
#pod
#pod     I quit!
#pod
#pod   -- 
#pod   {{ $name }}
#pod   __[ professional_letter ]__
#pod   Dear {{ $boss }},
#pod
#pod     I quit, jerks!
#pod
#pod
#pod   -- 
#pod   {{ $name }}
#pod
#pod =head1 DESCRIPTION
#pod
#pod Data::Section provides an easy way to access multiple named chunks of
#pod line-oriented data in your module's DATA section.  It was written to allow
#pod modules to store their own templates, but probably has other uses.
#pod
#pod =head1 WARNING
#pod
#pod You will need to use C<__DATA__> sections and not C<__END__> sections.  Yes, it
#pod matters.  Who knew!
#pod
#pod =head1 EXPORTS
#pod
#pod To get the methods exported by Data::Section, you must import like this:
#pod
#pod   use Data::Section -setup;
#pod
#pod Optional arguments may be given to Data::Section like this:
#pod
#pod   use Data::Section -setup => { ... };
#pod
#pod Valid arguments are:
#pod
#pod   encoding     - if given, gives the encoding needed to decode bytes in
#pod                  data sections; default; UTF-8
#pod
#pod                  the special value "bytes" will leave the bytes in the string
#pod                  verbatim
#pod
#pod   inherit      - if true, allow packages to inherit the data of the packages
#pod                  from which they inherit; default: true
#pod
#pod   header_re    - if given, changes the regex used to find section headers
#pod                  in the data section; it should leave the section name in $1
#pod
#pod   default_name - if given, allows the first section to has no header and set
#pod                  its name
#pod
#pod Three methods are exported by Data::Section:
#pod
#pod =head2 section_data
#pod
#pod   my $string_ref = $pkg->section_data($name); 
#pod
#pod This method returns a reference to a string containing the data from the name
#pod section, either in the invocant's C<DATA> section or in that of one of its
#pod ancestors.  (The ancestor must also derive from the class that imported
#pod Data::Section.)
#pod
#pod By default, named sections are delimited by lines that look like this:
#pod
#pod   __[ name ]__
#pod
#pod You can use as many underscores as you want, and the space around the name is
#pod optional.  This pattern can be configured with the C<header_re> option (see
#pod above).  If present, a single leading C<\> is removed, so that sections can
#pod encode lines that look like section delimiters.
#pod
#pod When a line containing only C<__END__> is reached, all processing of sections
#pod ends.
#pod
#pod =head2 section_data_names
#pod
#pod   my @names = $pkg->section_data_names;
#pod
#pod This returns a list of all the names that will be recognized by the
#pod C<section_data> method.
#pod
#pod =head2 merged_section_data
#pod
#pod   my $data = $pkg->merged_section_data;
#pod
#pod This method returns a hashref containing all the data extracted from the
#pod package data for all the classes from which the invocant inherits -- as long as
#pod those classes also inherit from the package into which Data::Section was
#pod imported.
#pod
#pod In other words, given this inheritance tree:
#pod
#pod   A
#pod    \
#pod     B   C
#pod      \ /
#pod       D
#pod
#pod ...if Data::Section was imported by A, then when D's C<merg