$ perl -E ' my $x = qq{ A B\tC # comment}; say q{Original string: |}, $x, q{|}; say q{s/\s//g: |}, $x =~ s/\s//gr, q{|}; say q{s/\s//gx: |}, $x =~ s/\s//grx, q{|}; say q{s/\s//gxx: |}, $x =~ s/\s//grxx, q{|}; say q{s/ //g: |}, $x =~ s/ //gr, q{|}; say q{s/ //gx: |}, $x =~ s/ //grx, q{|}; say q{s/ //gxx: |}, $x =~ s/ //grxx, q{|}; say q{s/[ ]//g: |}, $x =~ s/[ ]//gr, q{|}; say q{s/[ ]//gx: |}, $x =~ s/[ ]//grx, q{|}; #say q{s/[ ]//gxx: |}, $x =~ s/[ ]//grxx, q{|}; say q{s/[\ ]//gxx: |}, $x =~ s/[\ ]//grxx, q{|}; say q{s/#//g: |}, $x =~ s/#//gr, q{|}; say q{s/#//gx: |}, $x =~ s/#//grx, q{|}; say q{s/#//gxx: |}, $x =~ s/#//grxx, q{|}; say q{s/[ #]//g: |}, $x =~ s/[ #]//gr, q{|}; say q{s/[ #]//gx: |}, $x =~ s/[ #]//grx, q{|}; say q{s/[ #]//gxx: |}, $x =~ s/[ #]//grxx, q{|}; ' Original string: | A B C # comment| s/\s//g: |ABC#comment| s/\s//gx: |ABC#comment| s/\s//gxx: |ABC#comment| s/ //g: |AB C#comment| s/ //gx: | A B C # comment| s/ //gxx: | A B C # comment| s/[ ]//g: |AB C#comment| s/[ ]//gx: |AB C#comment| s/[\ ]//gxx: |AB C#comment| s/#//g: | A B C comment| s/#//gx: | A B C # comment| s/#//gxx: | A B C # comment| s/[ #]//g: |AB Ccomment| s/[ #]//gx: |AB Ccomment| s/[ #]//gxx: | A B C comment| #### Unmatched [ in regex; marked by <-- HERE in m/[ <-- HERE ]/ at -e line 16. #### my $re = qr{(?x: ... multiline regex pattern here ... )};