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> &amp; 360&#176;\n";
75print "Raw:        ", $htmlstr;
76print "Unescaped:  ", html_unescape($htmlstr);
77print "Unmarkedup: ", html_unmarkup($htmlstr);
78
79
801;
81
82