in reply to hash function

The quick, dirty, and universal way - use Data::Dumper. It should be already installed.

#top of file use Data::Dumper # rest of code print Dumper \%hash_i_want_to_look_at; # this prints a nice representation of the data in the hash to STDOUT

I would give you a more specific solution, if you pare your code down to where you want to view the hash, instead of posting this large section of code.

Check out How (Not) To Ask A Question, and more specifically this section. Following those guideline, helps us give you better answer.



grep
One dead unjugged rabbit fish later

Replies are listed 'Best First'.
Re^2: hash function
by Anonymous Monk on Oct 07, 2006 at 16:39 UTC
    Last time I asked a question, people complained that I didn't show all the code, so I thought it best to do it this time. Seems like its a case of damned if I do, damned if I don't eh?
    Basically I was after a function that I could call from the command line to print out all the words in a particular category:
    # show the words of a classification sub show_classification { my ( $category ) = @_; #for each word in the matching category, print the word }
      You'll get a nack for what works when asking questions. As an exercise, read other's questions and try to answer them (you don't have to answer, if you don't want). You'll quickly see how to think like someone trying answer a question - and what they need to answer it quickly.

      What I would've done asking this question: Go to the data. You want to look inside %words. So I would have posted the sub classify which uses %words and the TIE that starts the hash %words. The problem being is you're asking at a perl site - so you should figure some of us have an understanding of perl. But we don't know your data.

      To your question:
      Take the keys of the %words and split them on '-'.

      ## UNTESTED use Data::Dumper; my %cats; foreach my $cat_word (keys %words) { my ($cat,$word) = split(/-/,$cat_word); push(@{$cats{$cat}},$word); } print Dumper \%cats;
      There you should have a hash %cats with the words that are in each cat.

      As for adding that into your program and printing it nicer than Data::Dumper, I'll leave that up to you.



      grep
      One dead unjugged rabbit fish later