in reply to Re: How to replace greedy alternation?
in thread How to replace greedy alternation?

Another way to do it:

my %order; /(?=.*(a))(?=.*(b))(?=.*(c))/ and @order{ qw/a b c/ } = @-[ 1 .. $#- ] +;