sub c3 { print "Evaluating condition 3\n"; /gamma/; } while () { chomp; mff(qr/alpha/ => \&s1, qr/beta/ => \&s2, \&c3 => \&s3, qr/omega/ ) or print "*:$_\n"; } #### *:This is 1:the alpha 1:but not 1:the omega 2:Now the beta Evaluating condition 3 2:progressing to Evaluating condition 3 3:the gamma 3:and finally *:the omega *:Did this work?