>perl -wMstrict -le "my $raw = '+fo\o*@P@*b\ar+'; print qq{'$raw'}; ;; my $mq = quotemeta $raw; print qq{'$mq'}; ;; $mq =~ s{ \\ \@ P \\ \@ }'\+([0-9]+)'xmsg; print qq{'$mq'}; ;; my $mq_rx = qr{$mq}xms; print $mq_rx; ;; my $s = '123 +fo\o*+987*b\ar+ 456'; print qq{'$s'}; $s =~ $mq_rx; print qq{'$1'}; " '+fo\o*@P@*b\ar+' '\+fo\\o\*\@P\@\*b\\ar\+' '\+fo\\o\*\+([0-9]+)\*b\\ar\+' (?msx-i:\+fo\\o\*\+([0-9]+)\*b\\ar\+) '123 +fo\o*+987*b\ar+ 456' '987' #### >perl -wMstrict -le "my $sq = 'start \ \\ \' stop'; print qq{'$sq'}; " 'start \ \ ' stop'