while ( $javacode =~ s{ (/\*\* .*? \*/) }{ }xms ){ push @comments, $1; } my @lines = (); LINE: foreach my $line (split "\n", $javacode) { push @lines, $line; next LINE if $line =~ m { \A \s* // }xms; # change lines $lines[-1] =~ ... } $javacode = join "\n", @lines; my $comment_id = 0; $javacode =~ s{}{$comment[$comment_id++]}eg;