sub Create_Password { # it was trying to interpret #|| as a bareword... # also use or instead of || when dieing, its safer open(OUT,">phrase.txt") or die "Can't create phrase.txt: $!"; my $key = "abcdefghijklmnopqrstuvwxyz123456789"; my $bf = Crypt::Blowfish_PP->new($key); # you had "print my $encrypted password"... i assume this was a typo my $encrypted_Password = $bf->encrypt($Password); print OUT $encrypted_Password; }