Timothy, I was to wrapped up in the code to spend 5 minutes thanking you. My apologizes for that. The code worked perfectly. Thank you very much for that :)
Regards, Dan -----Original Message----- From: Timothy Johnson [mailto:[EMAIL PROTECTED]] Sent: Tuesday, 26 March 2002 1:33 PM To: Daniel Falkenberg; Timothy Johnson Cc: [EMAIL PROTECTED] Subject: RE: Can I set this as a hash? Oh, okay. I thought you just weren't sure how to access the data. print "Enter your username: "; chomp($input = <STDIN>); if($users{$input}){ print "Welcome, $input.\n"; foreach(sort keys %{$users{$input}}){ print " $_ owes ${$users{$input}}{$_}\n"; } }else{ print "Incorrect Username!\n"; } -----Original Message----- From: Daniel Falkenberg [mailto:[EMAIL PROTECTED]] Sent: Monday, March 25, 2002 7:00 PM To: Timothy Johnson Subject: RE: Can I set this as a hash? Thats all good Tim, but what I am really looking at doing is something like the following... print "Enter your username:"; chop ($find=<STDIN>); print "You are searching for $find...?\n"; # Now go and search through every $users{$username} and seee if $find = $users{$username}. If it does match # then display $company from $users{$find}{$company} and $owing from $users{$find}{$company}{$owing}. Is # # this even possible? Kind Regards, Dan -----Original Message----- From: Timothy Johnson [mailto:[EMAIL PROTECTED]] Sent: Tuesday, 26 March 2002 1:14 PM To: Daniel Falkenberg; Matthew Harrison Cc: [EMAIL PROTECTED] Subject: RE: Can I set this as a hash? Try this: foreach $key(sort keys %users){ foreach $inkey(sort keys %{$users{$key}}){ print "$key, ${$users{$key}}{$inkey}\n"; } } -----Original Message----- From: Daniel Falkenberg [mailto:[EMAIL PROTECTED]] Sent: Monday, March 25, 2002 6:23 PM To: Matthew Harrison Cc: [EMAIL PROTECTED] Subject: RE: Can I set this as a hash? Hmmmmm, yes I was thinking of that but I have gone against it. After tweaking around with my code I was able to insert all the date into a hash... %users = ( 'Username1' => { 'Comapny1' => 'owing1' }, 'Username2' => { 'Company2' => 'owing2' }, 'Username3' => { 'Company3' => 'owing3' } ); This now works perfectly. Just this once it is going to be easier for me to do it with a hash rather than setting it up in a mySQL or Postfix db. I do however have one more question. If I have a user enter their username i.e $user_stdin - <STDIN>;. How can I get my script to search through each Username in my hash and then display the Company and how much they have owing? Any ideas on this? Kind regards, Dan -----Original Message----- From: Matthew Harrison [mailto:[EMAIL PROTECTED]] Sent: Tuesday, 26 March 2002 12:27 PM To: Crook, Richard W Cc: [EMAIL PROTECTED] Subject: RE: Can I set this as a hash? That is exactly my stand too. I have found it much easier to learn some simple and re-useable MySQL functions using the DBI module, than to learn regex and all the other crap associated with manipulating strings etc. On Mon, 25 Mar 2002, Crook, Richard W wrote: > Well from a beginner's point of view, plus the KISS priciple I'd say you > should keep your data in a database like MySQL. You would then organize the > data by: > > USERNAME FULLNAME COMPANY OWING > username1 fullname1 company1 owing1 > username2 fullname2 company2 owing2 > > Where you access the data for each person via the unique username. > If you still want to use PERL then maybe you should keep the data in a > seperate file and parse though it instead of keeping the data in a > multidemensional hash. > > -----Original Message----- > From: Daniel Falkenberg [mailto:[EMAIL PROTECTED]] > Sent: Monday, March 25, 2002 5:38 PM > To: Timothy Johnson > Cc: [EMAIL PROTECTED] > Subject: RE: Can I set this as a hash? > > > I am still new to Perl as well. > > I want the end result to look like the following... > > USERNAME FULLNAME COMPANY OWING > username1 fullname1 company1 owing1 > username2 fullname2 company2 owing2 > > and so on.... > > Then I need for a user to type in their username and I need my script to > be able to extract the rest of the data such as if the user enters > username1 as their username I need to display... > > fullname1 company1 owing1. > > Does this make sense? > > Regards, > > Dan > > > > -----Original Message----- > From: Timothy Johnson [mailto:[EMAIL PROTECTED]] > Sent: Tuesday, 26 March 2002 11:46 AM > To: 'Matthew Harrison'; Daniel Falkenberg > Cc: [EMAIL PROTECTED] > Subject: RE: Can I set this as a hash? > > > > Or perhaps a list of lists... Maybe you should describe your HOH better. > What do you want the end result to look like? > > -----Original Message----- > From: Matthew Harrison [mailto:[EMAIL PROTECTED]] > Sent: Monday, March 25, 2002 5:18 PM > To: Daniel Falkenberg > Cc: [EMAIL PROTECTED] > Subject: Re: Can I set this as a hash? > > > I know i'm still only learning perl so feel free to ignore me if i've > said > something stupid, but wouldn't tha be better as a list instead of a > hash? > > On Tue, 26 Mar 2002, Daniel Falkenberg wrote: > > > Hello All, > > > > Just wondering how I would go about setting up the following hash and > if > > it would be wise to do it this way? > > > > I have the following data... > > > > $username $company $fullname $owing > > > > I want to place all of this in a hash of a hash... > > > > %name_of hash = > > "Username1" => "Company1" => "$fullname1" => "$owing" > > > > So basically I want to populate the hash with the above data. Here is > > there perl code I have so far... > > > > #!/usr/bin/perl -w > > > > use Data::Dumper; > > > > > > $FILE_NAME = "vintekdb_query_250302.txt"; > > $USER_DATA = "/var/www/cgi-bin/$FILE_NAME"; > > > > sub read_data { > > open USER_DATA, "$USER_DATA" or warn "cannot open '$USER_DATA' for > > reading: $!\n"; > > flock(USER_DATA, 2) || warn "Can't lock $USER_DATA exclusively: $!"; > > while( $USER_DATA=<USER_DATA> ) { > > @USER_DATA = split (/,/, $USER_DATA); > > s/^"|"$//g foreach @USER_DATA; > > $username = $USER_DATA[0]; > > $fullname = $USERDATA[1]; > > $company = $USERDATA[2]; > > $owing = $USERDATA[3]; > > #CREATE HASH OF HASH HERE > > } > > } > > close USER_DATA; > > return %users; #NAME OF HASH > > } > > > > read_data(); > > > > Does any one have any ideas on how I would go about this? Is this > even > > the best way to do something like this? > > > > Regards, > > > > Dan > > > > > > -- Matthew Harrison Internet/Network Services Administrator Peanut-Butter Cheesecake Hosting Services Genestate www.peanutbuttercheesecake.co.uk -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] ------------------------------------------------------------------------ -------- This email may contain confidential and privileged material for the sole use of the intended recipient. If you are not the intended recipient, please contact the sender and delete all copies. ------------------------------------------------------------------------ -------- This email may contain confidential and privileged material for the sole use of the intended recipient. If you are not the intended recipient, please contact the sender and delete all copies. -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]