c:\test>p1 { printf "password: "; chomp( my $pass = ); redo if $pass =~ m[(.).*\1.*\1]; print "'$pass' Ok"; redo };; password: hello 'hello' Ok password: goodbye 'goodbye' Ok password: xxx password: xaxbxc password: