Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:
So I have this script and .txt file that iv'e been messing with, brand new to hashing...i'm trying to make the script search for a partial email address, say I would type smith and it would return both email addresses for smith. I have made it so it can read the phone, email and name if I type, Smith,John, but not sure how to make (hash?) to just type smith and get both emails.
#!/usr/bin/perl -w open( PH, "customers.txt" ) or die "Cannot open customers.txt: $!\n"; while (<PH>) { chomp; ( $customer, $number, $email ) = ( split( /\s/, $_ ) ) [0,1,2]; $Customer{$customer} = $_; $Phone{$number} = $_; $Email{$email} = $_; } close(PH); print "Type 'q' to exit\n"; while (1) { print "\nCustomer? "; $customer = <STDIN>; chomp ($customer); $address = ""; $number = ""; if ( !$customer) { print "E-Mail? "; $address = <STDIN>; chomp $address; if (! $address) { print "Number? "; $number = <STDIN>; chomp $number; } } next if ( !$customer and !$address and !$number ); last if ( $customer eq 'q' or $address eq 'q' or $number eq 'q' ); if ( $customer and exists $Customer{$customer} ) { print "Customer: $Customer{$customer}\n"; print "Customer: $Customer{$customer}\n"; next; } if ($address and exists $Email{$address} ) { print "Customer: $Email{$address}\n"; next; } if ($number and exists $Phone{$number} ) { print "Phone: $Phone{$number}\n"; next; } print "Customer record not found. \n"; next; } print "\nAll done.\n";
Smith,John (248)-555-9430 jsmith@aol.com Hunter,Apryl (810)-555-3029 april@showers.org Stewart,Pat (405)-555-8710 pats@starfleet.co.uk Ching,Iris (305)-555-0919 iching@zen.org Doe,John (212)-555-0912 jdoe@morgue.com Jones,Tom (312)-555-3321 tj2342@aol.com Smith,John (607)-555-0023 smith@pocahontas.com Crosby,Dave (405)-555-1516 cros@csny.org Johns,Pam (313)-555-6790 pj@sleepy.com Jeter,Linda (810)-555-8761 netless@earthlink.net Garland,Judy (305)-555-1231 ozgal@rainbow.com
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: The Art of Hashing
by BrowserUk (Patriarch) on Jun 15, 2014 at 11:51 UTC | |
|
Re: The Art of Hashing
by poj (Abbot) on Jun 15, 2014 at 21:06 UTC | |
|
Re: The Art of Hashing
by shmem (Chancellor) on Jun 16, 2014 at 09:11 UTC | |
by BrowserUk (Patriarch) on Jun 16, 2014 at 09:24 UTC | |
by shmem (Chancellor) on Jun 16, 2014 at 13:01 UTC | |
by CountZero (Bishop) on Jun 16, 2014 at 16:49 UTC |