#!/usr/bin/perl use strict; use warnings; use Data::Dumper; use HTML::TokeParser::Simple; my $html = <<'EOHTML';
02:44 AM EDT
0:42 (est.)
Speech
U.S.-Japan Relations
Asia Society, Washington Center
Ryozo Kato , Japan
EOHTML my $tp = HTML::TokeParser::Simple->new(\$html) or die "Couldn't parse string: $!"; my $start; my @scraped; while (my $t = $tp->get_token) { $start++, next if $t->is_start_tag('table'); next unless $start; my $text = $tp->get_trimmed_text('br'); push @scraped, $text; } my @keys = qw(time length type title org1 org2); my %h_cpan = map {$keys[$_] => $scraped[$_]} (0..$#keys); #for (0..$#keys){ # $h_cpan{$keys[$_]} = $scraped[$_]; #} print Dumper \%h_cpan; #### ---------- Capture Output ---------- > "C:\Perl\bin\perl.exe" _new.pl $VAR1 = { 'org2' => 'Ryozo Kato , Japan', 'length' => '0:42 (est.)', 'time' => '02:44 AM EDT', 'org1' => 'Asia Society, Washington Center', 'title' => 'U.S.-Japan Relations', 'type' => 'Speech' }; > Terminated with exit code 0.