sub replace_with { my ( $old, $new ) = @_; # ermittle, wie viele Leerzeichen ersetzt werden sollen my $length = length($old); # ein $new soll 8 Zeichen ersetzen $replacement = "$new" x int( $len/8 ); # wenn ein Rest bleibt, muss ein weiteres $new dazu $replacement .= "$new" if $length % 8; return $replacement; } # Ersetze "echte" Leerzeichen durch Tabs $line =~ s/( +)/replace_with($1,"\t")/eg;