I think with qr// your regex is compiled beforehand, so that it will run faster, especially in a loop when you use the same regex over and over again. This ?-xism is what you get when you print it. eg: my $rex = qr/\d+/; print $rex; # (?-xism:\d+) Consider it as if you would do my $sub = sub {}; print $sub; # CODE(0x1a6279c) But why they just don't print REGEX:\d+, beats me ;-) Regards, Marc