Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask

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} }; }
$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?

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

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (7)
As of 2021-04-20 20:00 GMT
Find Nodes?
    Voting Booth?

    No recent polls found