in reply to convert text to HTML Format Table.

Hi Senthil,

Pls. try the below.

@Data=<DATA>; foreach $line(@Data) { if ($line=~s#(<h([0-9]+)>(?:.+?))#$1#) { $curr=$2; $endtag='</table>'; $line=~s#^(<h[0-9]+>)?(.+?$)#$1<tr><td>$2</td></tr>#; if ($prev=~m#^$#) { $line=~s#<h[0-9]+>#<table>#g; } elsif ($prev == $curr) { $line=~s#<h[0-9]+>##; } elsif ($prev > $curr) { $x=$prev-$curr; for ($i=0; $i<$x; $i++) { $line="$endtag\n".$line; } $line=~s#<h[0-9]+>##; } $line=~s#<h[0-9]+>#<table>#g; } $prev=$curr; $Final.=$line; } $Final=$Final.'</table>'; print $Final; __DATA__ <h1>Heading Level 1 <h2>Heading Level 2 <h2>Heading Level 2 <h2>Heading Level 2 <h3>Heading Level 3 <h3>Heading Level 3 <h2>Heading Level 2 <h1>Heading Level 1

Output:

<table><tr><td>Heading Level 1</td></tr> <table><tr><td>Heading Level 2</td></tr> <tr><td>Heading Level 2</td></tr> <tr><td>Heading Level 2</td></tr> <table><tr><td>Heading Level 3</td></tr> <tr><td>Heading Level 3</td></tr> </table> <tr><td>Heading Level 2</td></tr> </table> <tr><td>Heading Level 1</td></tr> </table>

Thanks,

Gopal.R.