Commit | Line | Data |
3fea05b9 |
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 |