Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
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 chilling in the Monastery: (3)
As of 2024-04-25 09:41 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found