my $file = $ARGV[0]; # input file my $bin = $ARGV[1]; # bin size normally 20 or 30 my $outfile = "temp.stat"; open (IN_LOG,"$file") || die "cannot open $file for reading: $!"; open (OUT_LOG,">$outfile") || die "cannot open $outfile for writing: $!"; my $colName; my @array; while () { push (@array,$_); } } my @sortArray = sort { $a <=> $b } @array; $max = $sortArray[-1]; $min = $sortArray[0]; print OUT_LOG "#- - - - - - - - - - - - - - - - - - - - -\n"; print OUT_LOG "#MAX : $max \n"; print OUT_LOG "#MIN : $min \n"; print OUT_LOG "#- - - - - - - - - - - - - - - - - - - - -\n"; $temp=$max-$bin; while ($max>=$min) { $i=0; print OUT_LOG "\n$max > $bin < $temp:"; foreach $val (@array) { if($val<=$max && $val>=$temp) { $i+=1; } } $max= $temp; $temp=$temp-$bin; print OUT_LOG " $i pts "; my $star = int($i/500) + 0.5; $var= '*' x $star; print OUT_LOG "| $var\n "; } close IN_LOG; close OUT_LOG; close MYFILE;