There's More Than One Way To Do It!
use XML::Parser; my $p = new XML::Parser Style => 'stream'; parsefile $p $ARGV[0]; sub StartTag { unless (/<p>/ && $p->{Context}[-1] eq "v") { print }; } sub EndTag { unless (/<.p>/ && $p->{Context}[-1] eq "v") { print }; } |