use strict; use warnings; my @seqs = qw( qwertyuiop asdfghjkl zxcvbnm ); for my $pwd (qw( asdf aaabbbccc zXcaaabbb aaYUIOPabbb )) { print "$pwd: ", validate_password($pwd, @seqs) ? 'password ok' : 'no sequences allowed!', "\n"; } sub validate_password { my ($password, @sequences) = @_; my $ok = 1; my @seqs; push @seqs, $_ =~ /(?=(.{3}))/g for @sequences; for (@seqs) { $ok = 0 && last if $password =~ /$_/i; } return $ok; }