I have made one script which will extract all the Row data from HTML <TR>
tags. I am having 30 HTML <TR>
tags on my HTML page. Based on count, my code will fetch particular row data. Let's say if I need data present in 5th <tr>...</tr>
, then my condition is if(count =5) {(go inside and get that data)}
But my problem here is I need the selected rows' data one at a time. Let's say I need data for rows 5, 6, and 14.
Could you please help me sort it out?
$te = new HTML::TableExtract(count => 0 );
$te->parse($content);
# Examine all matching tables
foreach $ts ($te->table_states) {
#print "Table (", join(',', $ts->coords), "):\n";
$cnt = 1;
foreach $row($ts->rows) {
# print " ---- Printing Row $cnt ----\n";
$PrintLine= join("\t", @$row);
@RowData=split(/\t/,$PrintLine);
$PrintLine =~ s/\r//ig;
$PrintLine =~ s/\t//ig;
$cnt = $cnt + 1;
# if ($PrintLine =~ /Site ID/ig || $PrintLine =~ /Site name/ig){print " Intrest $PrintLine $cnt =====================\n"};
if ( $cnt == 14) {
$arraycnt = 1;
my $SiteID="";
my $SiteName="";
foreach (@RowData) {
# print " Array element $arraycnt\n";
chomp;
$_ =~ s/\r//ig;
$_ =~ s/[\xC3\xA1\xC3\xA0\xC3\xA2\xC3\xA3]//ig;
if ($arraycnt== 17 ) { $SiteID= $_;}
if ($arraycnt== 39 ) { $SiteName= $_;}
$arraycnt = $arraycnt + 1;
}
#$PrintLineFinal = $BridgeCase."\t".$PrintLine;
$PrintLineFinal = $BridgeCase."\t".$SiteID."\t".$SiteName;
#print "$PrintLineFinal\n";
print MYFILE2 "$PrintLineFinal\n";
last;
}
}
}