Hello there, I'm trying to understand and modify some perl code to
create an index of word. The subroutine I have is in OO Perl, and I'm
just starting to learn normal Perl. So I'd like to transform it. Here
it is:

sub make_word_list {
        my ( $self ) = @_;
        my %all_words;
        foreach my $doc ( @{ $self->{docs} } ) {
                my %words = $self->get_words( $doc );
                foreach my $k ( keys %words ) {
                        #print "Word: $k\n";
                        $all_words{$k} += $words{$k};
                }
        }

#-------------?? from here
        # create a lookup hash of word to position
        my %lookup;
        my @sorted_words = sort keys %all_words;
        @[EMAIL PROTECTED] = (1..$#sorted_words );

        $self->{'word_index'} = \%lookup;
        $self->{'word_list'} = [EMAIL PROTECTED];
        $self->{'word_count'} = scalar @sorted_words;
}

and it's called by

make_word_list();

Ok, the first part is clear (til when %all_words is created).

%all_words for us is a hash like

KEY      VALUE
word      frequency in documents
foo         32
cat         12
...

but what about the rest? @sorted_words contains just the sorted words
with no frequency, and then?


Thank you so much

Giuseppe


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/


Reply via email to