#!/usr/bin/perl -w
use strict;
use HTML::TokeParser::Simple;
my $total = 0;
my $p = HTML::TokeParser::Simple->new(*DATA);
my $length_left = shift || 40;
my $abstract = "";
while (my $t = $p->get_token) {
$_ = $t->as_is;
if ($t->is_text) {
s/\s+/ /g;
s/^(.{1,$length_left}\S*).*/$1/s;
$length_left -= length;
}
$abstract .= $_;
last unless $length_left > 0;
}
print $abstract, $/;