#!/usr/bin/perl use strict; use warnings; $_ = "foo"; print "a" =~ m{.} ? "o\n" : "O\n"; if ( m/f (??{ "a" =~ m{.} ? 'o' : 'O' }) o/x){ print "matched\n" } __END__ o