>perl -wMstrict -le "my @suits = qw(D S C H); my $suits = join '', @suits; my $flush = qr{ ([$suits]) (?: [^$suits]+ \1){4} }xms; print $_, $_ =~ $flush ? ' flush' : ' nope' for '2H 3D 4C 5S 5H', '1H 2H 3H 4H 5H'; " 2H 3D 4C 5S 5H nope 1H 2H 3H 4H 5H flush