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 .. $#- ] +; [download]