use utf8; use warnings; print "matched\n" if 'pf1ad1%/pf2%2Fad2/pdad3/pfad4/filename' =~ m|^((?x-ism: [^\?]*? ))/((?x-ism: [^/\?]*? ))$|; #### use utf8; use warnings; print "matched\n" if 'pf1ad1%/pf2%2Fad2/pdad3/pfad4/filename' =~ m|^((?x-ism: [^?]*? ))/((?x-ism: [^/?]*? ))$|;