#!/usr/bin/perl $/ = "%%\n"; while (<>) { $orig = $_; s/v?[\d.]+ perl/perl/i; s/\W//g; tr/a-z/A-Z/; next if $seen{$_}++; push(idx, $_); push(@all, $orig); } print @all [ sort { $idx[$a] cmp $idx[$b] } 0..$#all ];