while(<DATA>){ $str .=$_; } print &delHtml($str); <>; sub delhtml { my($str) = @_; my($s_pos) = 0; my($e_pos) = 0; loop: if(index($str,'<') != -1) { $s_pos = index($str,'<'); $e_pos = index($str,'>',$s_pos); if($s_pos > 0) { $str = substr($str,0,$s_pos).substr($str,$e_pos+1); } elsif(s_pos == 0) { $str = substr($str,$e_pos + 1); } goto loop; } else { return $str; } } sub delHtml{ my $str = shift; $str =~ s/<(style|script|iframe|object|embed)(?=\s|>).+?<\/\1>//igs; $str =~ s/on(click|mouseover|mousedown|load)=".+?"//igs; $str =~ s/on(click|mouseover|mousedown|load)=.+?\s+?//igs; $str =~ s/<[^>]+?>//gs; return $str; } __DATA__ ...