Glad you liked it. I've put another condition in the if block:
if ( $tag->{ $style }->{ block } and ! $block_flag ){
$output = join( '',
$output,
$tag->{ $style }->{ block_open },
$line_out );
$block_flag = $style;
}
elsif ( ! $tag->{ $style }->{ block } and $block_flag ){
$output = join( '',
$output,
$tag->{ $block_flag }->{ block_close },
"\n",
$line_out,
"\n" );
$block_flag = '';
}
elsif ( ! $tag->{ $style }->{ block } ){
$output = join( '',
$output,
$line_out,
"\n" );
}
else{
$output = join( '',
$output,
$line_out );
}