use strict; use warnings; my @CHARS = ('A'..'Z', 'a'..'z'); sub rand_char { return $CHARS[rand @CHARS]; } while () { s/\w/rand_char()/eg; print $_; } __DATA__ ABCDEFG