in reply to Remove tabs only between quotation marks

Untested:
$str = join "", map {my $_ = $_; /^"/ && s/\t+//g; $_} $str =~ /"[^"]* +"|[^"]*/g;
This assumes you cannot have escaped quotes inside your quotes. And that your fields themselves do not contain quotes.