Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Re: multi dimensional hash

by Cristoforo (Curate)
on Mar 03, 2018 at 20:31 UTC ( #1210292=note: print w/replies, xml ) Need Help??


in reply to multi dimensional hash

A hash of hash might be a possible solution. Here I didn't keep a separate frequency but generated a frequency for each $tag1 as the value to the hash.
#!/usr/bin/perl use strict; use warnings; use Data::Dumper qw(Dumper); use List::Util 'sum'; open my $fh, '<', \<<EOF; The DT the International NN International for IN for well NN well preparation NN preparation preparation NN preparation in IN in conference NN conference conference NN conference conferences NN conference good VVG good EOF my %hash; while (<$fh>) { chomp; my ($tag1, $tag2, $tag3) = split /\t/; if ($tag2 =~/NN/) { $hash{$tag3}{$tag1}++; } } print Dumper \%hash; for my $tag (keys %hash) { printf "%s freq: %d\n", $tag, sum values %{ $hash{$tag} }; }
Output:
$VAR1 = { 'well' => { 'well' => 1 }, 'International' => { 'International' => 1 }, 'conference' => { 'conference' => 2, 'conferences' => 1 }, 'preparation' => { 'preparation' => 2 } }; well freq: 1 International freq: 1 conference freq: 3 preparation freq: 2

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1210292]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (4)
As of 2020-09-23 03:38 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    If at first I donít succeed, I Ö










    Results (130 votes). Check out past polls.

    Notices?