TokeParser を実行するたびに、この未定義のエラーが発生します。HTML から取得する最後のものが「undef」であり、エラーの原因になっているためだと思いますが、それが正しいかどうか、またはそれが原因である場合はどうすればよいかは確かです。
#!usr/bin/perl
use warnings;
use strict;
use HTML::TokeParser;
sub findTokens {
my $htmlFileName = "83.html";
my $p = HTML::TokeParser->new($htmlFileName);
my @tokens;
while (my $newChunk = $p->get_token) {
if ($newChunk->[0] eq 'T') {
my @lineArray = split(' ', $newChunk->[1]);
foreach my $i (@lineArray) {
if ( lc($i) =~ /^[a-z]*\-?'?s?$/) {
push(@tokens, lc($i));
}
}
}
}
return @tokens;
}