in reply to Re: Fetching meta tag info
in thread Fetching meta tag info

Darn! You beat me to it! Here is what I came up with, using HTML::TokeParser, using Perl & LWP as a reference:

#!/usr/bin/perl -w use strict; use HTML::TokeParser; $/="\n\n"; while( my $html=<DATA>) { my $author= get_author( $html); print "Author: $author\n"; } exit; sub get_author { my $html= shift; my $stream= HTML::TokeParser->new( \$html); while( my $token= $stream->get_token) { my $token_type= shift @$token; next unless $token_type eq 'S'; my( $tag, $attribute_hashref, $attribute_order_arrayref, $sour +ce)= @$token; next unless $tag eq 'meta'; if( grep { m{\.author$} } values %$attribute_hashref) { return $attribute_hashref->{content}; } } return 'unknown'; } __DATA__ <html> <head> <META NAME="HTML.author" CONTENT="Joe Smith"> <META NAME="whatever" CONTENT="foo"> </head> <body><p>dummy</p></body> </html> <html> <head><meta name="Company.HTML.author" content="Carl Jones"></head> <body><p>dummy</p></body> </html> <html> <head><META NAME="web.author" CONTENT="Mike Simmons"></head> <body><p>dummy</p></body> </html> <html> <head> <META NAME="whatever" CONTENT="foo"> </head> <body><p>dummy</p></body> </html>