$str = ' ab+cd (12)34'; $str = quotemeta($str); $str =~ s/[a-z]/\[a-z\]/ig; $str =~ s/\d/\\d/g; $str =~ s/\s+/\\s\+/g; $pat = qr/$str/i; print "$pat\n"; Output: (?i-xsm:\\s+\\s+[a-z][a-z]\+[a-z][a-z]\\s+\\s+\\s+\(\d\d\)\d\d)