#! perl -slw use strict; use List::Util qw[ shuffle ]; my $string = join '', shuffle +('A' .. 'Z')x2;; while( $string = join'', shuffle split '', $string ) { printf( STDERR "\r$string" ); $string =~ s[(CHICKEN|EGG)][>>>$1<<<] and die "\n\n$1 came first\n$string\n\n(Selfish lover?)\n"; } __END__ C:\test>junk1 OEQOLHRDFUWDXPTZBYVLTNWKFBVJSRMAEGGNUQIAXCSZCKIHJPMY EGG came first OEQOLHRDFUWDXPTZBYVLTNWKFBVJSRMA>>>EGG<<junk1 MWZCSLUKEATQYTHOWEGGMVPQYVRRJXBUAKXNDDHFPZJISNOCFBLI EGG came first MWZCSLUKEATQYTHOW>>>EGG<<junk1 BZPUIEEGGONAQRWOJFKDHDYCXUFBLWZHYMMVXSISTTJAQKNPVRCL EGG came first BZPUIE>>>EGG<<