Because you've told perl to read the file a line at a time (well, more you haven't told it not to do otherwise and line is the default) so $_ will only contain <TD>\n and the next line will have <FONT ....>. At no point is the entire contents you expect to match in $_ simultaneously and in the right order so the match never happens and the substitution never triggers.
See the documentation for the -0 switch in perlrun, specifically the part about turning on paragraph mode.
The cake is a lie.
The cake is a lie.
The cake is a lie.