#!/usr/bin/perl -0 -s our ($i); use strict; use Sort::Versions; my $t = ""; while(<>){ $t .="$_\n\n" } if ($i){ print join("\n\n",sort { versioncmp($b, $a) } split(qr{\n\s*\n\s*},$t)), "\n" ; } else { print join("\n\n",sort versioncmp split(qr{\n\s*\n\s*},$t)), "\n" ; }