1#!/usr/bin/perl 2=head1 NAME 3 4giggles - just some example code using HTML::Stream 5 6=cut 7 8 9BEGIN { 10 unshift @INC, ".."; 11} 12 13package StringHandle; 14sub new { 15 my $self = ''; 16 bless \$self, shift; 17} 18sub print { 19 my $self = shift; 20 $$self .= join('', @_); 21} 22 23 24package main; 25use HTML::Stream; 26use FileHandle; 27 28my $SH = new StringHandle; 29my $HTML = new HTML::Stream $SH; 30$HTML -> H1 -> t("<Hello & welcome!>") -> _H1; 31print "PRINTED STRING: ", $$SH, "\n"; 32 33my $HTML = new HTML::Stream; 34$HTML -> H1 -> t("none") -> _H1; 35 36my $HTML = new HTML::Stream \*STDOUT; 37$HTML -> H1 -> t("<\\*STDOUT>") -> _H1; 38 39my $HTML = new HTML::Stream 'STDOUT'; 40$HTML -> H1 -> t("STDOUT") -> _H1; 41 42my $HTML = new HTML::Stream 'main::STDOUT'; 43$HTML -> H1 -> t("main::STDOUT") -> _H1; 44 45my $fh = new FileHandle ">&STDOUT"; 46my $HTML = new HTML::Stream $fh; 47$HTML -> H1 -> t("FD 0") -> _H1; 48 49 50 51package MY::HTML; 52 53@ISA = qw(HTML::Stream); 54 55 sub Aside { 56 $_[0] -> FONT(SIZE=>-1) -> I; 57 } 58 sub _Aside { 59 $_[0] -> _I -> _FONT; 60 } 61 62package main; 63 64use HTML::Stream qw(:funcs); 65 66 my $HTML = new MY::HTML \*STDOUT; 67 68 $HTML -> Aside 69 -> t("Don't drink the milk, it's spoiled... pass it on...") 70 -> _Aside; 71 72 $HTML -> nl -> comment("Hey\nthere") -> comment("Ho"); 73 74my $htmlstr = "<I>Hi</I> & 360°\n"; 75print "Raw: ", $htmlstr; 76print "Unescaped: ", html_unescape($htmlstr); 77print "Unmarkedup: ", html_unmarkup($htmlstr); 78 79 801; 81 82