Add built local::lib
[catagits/Gitalist.git] / local-lib5 / lib / perl5 / PPI / Token / Data.pm
1 package PPI::Token::Data;
2
3 =pod
4
5 =head1 NAME
6
7 PPI::Token::Data - The actual data in the __DATA__ section of a file
8
9 =head1 INHERITANCE
10
11   PPI::Token::Data
12   isa PPI::Token
13       isa PPI::Element
14
15 =head1 DESCRIPTION
16
17 The C<PPI::Token::Data> class is used to represent the actual data inside
18 a file's C<__DATA__> section.
19
20 One C<PPI::Token::Data> object is used to represent the entire of the data,
21 primarily so that it can provide a convenient handle directly to the data.
22
23 =head1 METHODS
24
25 C<PPI::Token::Data> provides one method in addition to those provided by
26 our parent L<PPI::Token> and L<PPI::Element> classes.
27
28 =cut
29
30 use strict;
31 use IO::String ();
32 use PPI::Token ();
33
34 use vars qw{$VERSION @ISA};
35 BEGIN {
36         $VERSION = '1.206';
37         @ISA     = 'PPI::Token';
38 }
39
40
41
42
43
44 #####################################################################
45 # Methods
46
47 =pod
48
49 =head2 handle
50
51 The C<handle> method returns a L<IO::String> handle that allows you
52 to do all the normal handle-y things to the contents of the __DATA__
53 section of the file.
54
55 Unlike in perl itself, this means you can also do things like C<print>
56 new data onto the end of the __DATA__ section, or modify it with
57 any other process that can accept an L<IO::Handle> as input or output.
58
59 Returns an L<IO::String> object.
60
61 =cut
62
63 sub handle {
64         my $self = shift;
65         IO::String->new( \$self->{content} );
66 }
67
68 sub __TOKENIZER__on_char { 1 }
69
70 1;
71
72 =pod
73
74 =head1 SUPPORT
75
76 See the L<support section|PPI/SUPPORT> in the main module.
77
78 =head1 AUTHOR
79
80 Adam Kennedy E<lt>adamk@cpan.orgE<gt>
81
82 =head1 COPYRIGHT
83
84 Copyright 2001 - 2009 Adam Kennedy.
85
86 This program is free software; you can redistribute
87 it and/or modify it under the same terms as Perl itself.
88
89 The full text of the license can be found in the
90 LICENSE file included with this module.
91
92 =cut