#!/usr/bin/perl use CGI::Carp 'fatalsToBrowser'; use strict; use warnings; use CGI; my $query = CGI->new; my $usedpw = "logfile.txt"; my @chars; print $query->header; # opening for reading open(USEDPW, "< $usedpw") or die "poo poo on reading $!"; flock USEDPW, 1; # Storing the file handle, not a scalar, into an array for full reading my @used_pw = ; close(USEDPW); # remove trailing whitespace chomp my $used_pw; while () { my $pw = @chars[map{rand @chars} (1..17)]; } unless ($_ ne my $pw) { print "Your unique ID is: $pw\n"; } my $pw; open(USEDPW, "> $usedpw") or die "crap on me for writing $!"; flock USEDPW, 2; print USEDPW "$pw\n"; close(USEDPW);