Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

frequecny of occurence showing an error

by extrem (Initiate)
on Sep 30, 2011 at 11:29 UTC ( [id://928749]=perlquestion: print w/replies, xml ) Need Help??

extrem has asked for the wisdom of the Perl Monks concerning the following question:

HI i have the script for finding the occurence of the number data in each file in a directory, but it gives me a wrong output ie the frequency number gets added up for each next number from other file.
#!usr/bin/perl use strict; opendir(DIR, "") or die "$!"; my @files =grep {/\.out$/} readdir (DIR); my %frequency; foreach my $file(@files){ open(FR,$file); while(<FR>){ my @column = split ' ' or next; $frequency{$column[2]}++; } { local($\,$,) = ("\n","\t"); my @max = sort {$frequency{$b} <=> $frequency{$a}} keys %frequency; print "$max[0]=$frequency{$max[0]}\n"; } } closedir (DIR);

this gives me an output as given below where 1st column is the number which is equal to the frequency

65705=95 65705=210 65705=266 65705=266

which is wrong cause wen i checked indivual file frequency it gave me an output as 65705 115 for file1 32987 74 for file2

Replies are listed 'Best First'.
Re: frequecny of occurence showing an error
by Taulmarill (Deacon) on Sep 30, 2011 at 11:37 UTC
    Since you declared the hash %frequency outside the foreach-loop, its contents are not deleted after each iteration. To archive this you should declare the hash inside the foreach-loop.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://928749]
Approved by ww
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others perusing the Monastery: (6)
As of 2024-04-23 09:40 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found