#!/usr/bin/perl

use Sort::DataTypes qw(:all);

# This sorts a password file by UID:

@passwd = <DATA>;

sort_partial(\@passwd,':', [3,['numerical']]);

foreach my $line (@passwd) {
  print $line;
}

__DATA__
at:x:25:25:Batch jobs daemon:/var/spool/atjobs:/bin/bash
avahi:x:103:104:User for Avahi:/var/run/avahi-daemon:/bin/false
beagleindex:x:108:111:User for Beagle indexing:/var/cache/beagle:/bin/bash
bin:x:1:1:bin:/bin:/bin/bash
daemon:x:2:2:Daemon:/sbin:/bin/bash
dnsmasq:x:101:65534:dnsmasq:/var/lib/empty:/bin/false
ftp:x:40:49:FTP account:/srv/ftp:/bin/bash
games:x:12:100:Games account:/var/games:/bin/bash
