home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / share / perl / 5.10.0 / Pod / Simple / PullParserTextToken.pm < prev    next >
Encoding:
Perl POD Document  |  2009-06-26  |  2.4 KB  |  102 lines

  1.  
  2. require 5;
  3. package Pod::Simple::PullParserTextToken;
  4. use Pod::Simple::PullParserToken ();
  5. @ISA = ('Pod::Simple::PullParserToken');
  6. use strict;
  7.  
  8. sub new {  # Class->new(text);
  9.   my $class = shift;
  10.   return bless ['text', @_], ref($class) || $class;
  11. }
  12.  
  13. # Purely accessors:
  14.  
  15. sub text { (@_ == 2) ? ($_[0][1] = $_[1]) : $_[0][1] }
  16.  
  17. sub text_r { \ $_[0][1] }
  18.  
  19. 1;
  20.  
  21. __END__
  22.  
  23. =head1 NAME
  24.  
  25. Pod::Simple::PullParserTextToken -- text-tokens from Pod::Simple::PullParser
  26.  
  27. =head1 SYNOPSIS
  28.  
  29. (See L<Pod::Simple::PullParser>)
  30.  
  31. =head1 DESCRIPTION
  32.  
  33. When you do $parser->get_token on a L<Pod::Simple::PullParser>, you might
  34. get an object of this class.
  35.  
  36. This is a subclass of L<Pod::Simple::PullParserToken> and inherits all its methods,
  37. and adds these methods:
  38.  
  39. =over
  40.  
  41. =item $token->text
  42.  
  43. This returns the text that this token holds.  For example, parsing
  44. CZ<><foo> will return a C start-token, a text-token, and a C end-token.  And
  45. if you want to get the "foo" out of the text-token, call C<< $token->text >>
  46.  
  47. =item $token->text(I<somestring>)
  48.  
  49. This changes the string that this token holds.  You probably won't need
  50. to do this.
  51.  
  52. =item $token->text_r()
  53.  
  54. This returns a scalar reference to the string that this token holds.
  55. This can be useful if you don't want to memory-copy the potentially
  56. large text value (well, as large as a paragraph or a verbatim block)
  57. as calling $token->text would do.
  58.  
  59. Or, if you want to alter the value, you can even do things like this:
  60.  
  61.   for ( ${  $token->text_r  } ) {  # Aliases it with $_ !!
  62.   
  63.     s/ The / the /g; # just for example
  64.     
  65.     if( 'A' eq chr(65) ) {  # (if in an ASCII world)
  66.       tr/\xA0/ /;
  67.       tr/\xAD//d;
  68.     }
  69.     
  70.     ...or however you want to alter the value...
  71.   }
  72.  
  73. =back
  74.  
  75. You're unlikely to ever need to construct an object of this class for
  76. yourself, but if you want to, call
  77. C<<
  78. Pod::Simple::PullParserTextToken->new( I<text> )
  79. >>
  80.  
  81. =head1 SEE ALSO
  82.  
  83. L<Pod::Simple::PullParserToken>, L<Pod::Simple>, L<Pod::Simple::Subclassing>
  84.  
  85. =head1 COPYRIGHT AND DISCLAIMERS
  86.  
  87. Copyright (c) 2002 Sean M. Burke.  All rights reserved.
  88.  
  89. This library is free software; you can redistribute it and/or modify it
  90. under the same terms as Perl itself.
  91.  
  92. This program is distributed in the hope that it will be useful, but
  93. without any warranty; without even the implied warranty of
  94. merchantability or fitness for a particular purpose.
  95.  
  96. =head1 AUTHOR
  97.  
  98. Sean M. Burke C<sburke@cpan.org>
  99.  
  100. =cut
  101.  
  102.