== README ==>
notwhoami v 0.99 Displays random identity information.
Copyright (C) 1999/08/30 Saber Taylor
Homepage: http://notwhoami.sourceforge.net
Author email: staylor@users.sourceforge.net
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
So if you haven't heard of the GPL (been living in a cave?) check out http://www.gnu.org or read the file LICENSE to understand the license.
-==- Program description -==-
This proggie generates a random name, address, phone number, etc to standard output. A sample session follows:
[staylor@love notwhoami-0.99]$ ./notwhoami
Tetsuya Y. Marsden
21 Baseboard St
Manchester, NH 03100
603-732-9545
7/3/1961
[staylor@love notwhoami-0.99]$
Simple, neh?
The -html parameter just adds basic html tags suitable for cgi
output.
-==- Installation -==-
"install" will copy files to /usr/local/bin, /usr/local/etc, and /usr/doc/notwhoami-0.99
-==- Blah blah blah -==-
Just as an aside, you could manually generate the same type of info using the following urls:
Area codes <-> http://www.555-1212.com/aclookup.html Zip codes <-> http://www.usps.gov/ncsc/lookups/lookup_ctystzip.html Cities <-> http://www.yahoo.com/Regional/U_S__States/
-==- Developer details (coders only below this line!) -==-
EFFICIENCY BUG: Somebody puh-leeze fix the randomline subroutine so that it doesn't have to read the whole datafile in! It should be simple, but the FAQ solution is giving me errors. Contact me if you need more details. Included here is my attempt at using the FAQ solution:
sub randomline {
my ($DATAFILE) = @_;
print "randomline was called for $DATAFILE\n";
my ($line); undef ($.);
# do {
open (DATAFILE, $DATAFILE) || die "Could not read from $DATAFILE: $!";
From the FAQ: http://www.perl.com/pub/doc/manual/html/pod/perlfaq5.html#How_do_I_select_a_random_line_fr
rand($.) < 1 && ($line = $_) while <DATAFILE>;
close (DATAFILE) || die "Could not close $DATAFILE: $!";
} until (($line !~ /^/) && ($line !~ /^\s+$/));
chomp $line;
return ($line);
}
-==- Other Developer Details -==-
Here's the datafile formats: (some minor parsing was
done to make the files
more consistent)
na.phone
us_area_code:city:state:state_abbreviation zipcodes
zipcode:city, state_abbreviation
postal.codes
state_abbreviation:state
propernames
first names
They were obtained from the following sources:
ftp://sable.ox.ac.uk/pub/wordlists/computer/
Family-Names
Given-Names
GNU miscfiles-1.1
inter.phone
na.phone
postal.codes
zipcodes
