#!/usr/bin/perl # Marcus Fritzsch, http://fritschy.de, 20050416 use warnings; use strict; use HTTP::Request; use LWP::UserAgent; use HTML::Parser; use HTML::Entities; my ($quote, $num, $pre, $b) = ("", "", 0, 0); my $ua = LWP::UserAgent->new; my $re = $ua->request (HTTP::Request->new ('GET', 'http://bash.pi' .'lgerer.org/cgi/bash.cgi?display=random¶m_0=1')) or die "$!\n"; sub tag{$pre = !$pre if $_[0] eq 'pre'; $b = !$b if $_[0] eq 'b';} sub txt{$quote .= shift() if $pre; $num .= shift() if $b;} my $p = HTML::Parser->new (start_h => [\&tag, "tagname"], end_h => [\&tag, "tagname"], text_h => [\&txt, "text"]); $p->parse ($re->content); decode_entities ($quote); $quote =~ s/^\s*\n//gm; print 'QUOTE ', $num, "\n\n" if $num =~ /^#\d+$/; print $quote;