use HTML::TokeParser; local $/; my $content = ; my $p = HTML::TokeParser->new(\$content); my %meta; while (my $token = $p->get_token) { next if $token->[1] ne 'meta' && $token->[0] ne 'S'; $meta{$token->[2]{name}} = $token->[2]{content}; } print "$_: $meta{$_}\n" foreach (keys %meta); __DATA__ #### keywords: free, cheap, fun copyright: Aaron Anderson