#! perl -slw use strict; m[ (?:^[^0]*0[^0]*0[^0]*$)| (?:^[^1]*1[^1]*1[^1]*$)| (?:^[^2]*2[^2]*2[^2]*$)| (?:^[^3]*3[^3]*3[^3]*$)| (?:^[^4]*4[^4]*4[^4]*$)| (?:^[^5]*5[^5]*5[^5]*$)| (?:^[^6]*6[^6]*6[^6]*$)| (?:^[^7]*7[^7]*7[^7]*$)| (?:^[^8]*8[^8]*8[^8]*$)| (?:^[^9]*9[^9]*9[^9]*$) ]x and print for '0000' .. '9999'; #### #! perl -slw use strict; m[ (?:[^0]*0[^0]*0[^0]*0[^0]*)| (?:[^1]*1[^1]*1[^1]*1[^1]*)| (?:[^2]*2[^2]*2[^2]*2[^2]*)| (?:[^3]*3[^3]*3[^3]*3[^3]*)| (?:[^4]*4[^4]*4[^4]*4[^4]*)| (?:[^5]*5[^5]*5[^5]*5[^5]*)| (?:[^6]*6[^6]*6[^6]*6[^6]*)| (?:[^7]*7[^7]*7[^7]*7[^7]*)| (?:[^8]*8[^8]*8[^8]*8[^8]*)| (?:[^9]*9[^9]*9[^9]*9[^9]*) ]x or m[(?=(\d).*\1)] and print for '000000' .. '999999';