--- Tags.pm.orig 2006-07-21 11:55:09.000000000 -0400
+++ Tags.pm 2006-07-21 12:24:34.000000000 -0400
@@ -79,6 +79,19 @@
use overload q("") => \&to_string;
our $VERSION = 0.23;
+{
+ # Tags that start POD:
+ my @start_tags = qw(pod head1 head2 head3 head4 over item back begin
+ end for encoding);
+ my @end_tags = qw(cut);
+
+ my $startpod = '^=(?:' . join('|', @start_tags) . ')\b';
+ my $endpod = '^=(?:' . join('|', @end_tags) . ')\b';
+
+ sub STARTPOD { qr/$startpod/ }
+ sub ENDPOD { qr/$endpod/ }
+}
+
=head2 C<new>
L<Perl::Tags> is an abstract baseclass. L<Perl::Tags::Naive> is provided
@@ -281,8 +294,11 @@
# default line by line parsing. Or override it
+ my $start = STARTPOD;
+ my $end = ENDPOD;
while (<$IN>) {
+ next if (/$start/o .. /$end/o); # Skip over POD.
chomp;
my $statement = my $line = $_;
PARSELOOP: for my $parser (@parsers) {