Because qr compiles the regex it makes the /o modifier rather superfluous. It does however apply to situations where you have a match which has a variable in it and you only want it to be compiled once e.g
my $match = shift @ARGV;
my @matched = grep /^$match$/o, <>;
qr// also is much less likely to be used mistakenly than /o and much easier to spot when it is. /o should be considered a relic from pre-qr// times that has few if any uses anymore.