#!/usr/bin/perl use strict; use warnings; use XML::Twig; use HTML::Entities; my $file = 'score_dadvsi.txt'; # Parse $file open FILE, $file or die "Cannot read $file: $!\n"; my @in = ; close FILE; # Exit if already processed die "Already processed, run score_dadvsi.pl\n" if (grep /------/, @in); my %distribution; my ($upper, $lower); foreach (@in) { (my $score) = /: ([\d.]+)$/; $distribution{$score}++; } foreach my $k (sort {$distribution{$b} <=> $distribution{$a}} keys %distribution) { if (not defined $lower) { $lower = $k; } elsif (not defined $upper) { $upper = $k; } else { last; } } # Write output open OUT, ">$file" or die "Cannot write to $file: $!\n"; foreach (@in) { (my $score) = /: ([\d.]+)$/; if ($score == $upper) { print OUT "\n------\n\n"; $upper = 0; } elsif ($score < $lower) { print OUT "\n------\n\n"; $lower = 0; } else { print OUT; } } close OUT;