my $finder = URI::Find::Schemeless->new(sub { my ($uri, $text) = @_; return qq{$text}; }); my HTML::TokeParser::Simple->new(\*STDIN); while (my $token = $p->get_token) { my $text = $token->as_is; $finder->(\$text) if $token->is_text; # here's the key print $text; }