#!/usr/bin/perl -w # vim: set tabstop=3 use strict; while () { chomp; print "$_ .. "; if (m/^((?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9]).*)$ (??{ ! exists %{{qw! 5 0 6 0 7 0 8 0 !}}->{length($1)} })/x) { print "valid\n" } else { print "invalid\n" } } __DATA__ 1245Za78 1245Za7b8 45a7b8 a78Z 12Three kMdlOz 6KYX diImMU1Y ZNw4uWSht jDqvSN qVRR le2WTQv us1j3SerC OZv0LtSJ 9qyscg LbX7o74 80TeRHq 7YIiXnEV8 e1Yctl9 8iGoc R87MeDCFz ziTnlk cziP