my $un = shift; unless( $un ~= s/\A([_A-Za-z][_A-Za-z0-9]+)\Z/$1/ ){ # Log/Warn(L4/5); #? exit &ask_user_to_resubmit_request; } $un = lc($un); ... unless($<){..} #### #uid check unless($< == 0){ # Log attempt and exit; }else{ print "Sue! How do you do?\nWe've been rooting for you" } #untaint and foldcase user data my $un = shift; unless( $un ~= s/\A([A-Za-z]\W+)\Z/$1/ ){ # Log attempt exit &ask_user_to_resubmit_request; } $un = lc($un); #carry on if(defined(getpwnam $un)){ .. }