#!/usr/bin/perl -w # /etc/passwd sort by UID $file="/etc/passwd"; my @array = do { local( @ARGV, $/ ) = $file ; <> } ; #my @array = ( #'555900:user:lee:0:23030', #'3520916:user:joe:0:20487', #'395284:user:richard:3:17557', #'807060:group:smith:0:20573', #'381940:home:kimble:1:625', #); my @sorted = map {$_->[0]} sort {$a->[1] <=> $b->[1] || $a->[1] cmp $b->[1]} map {[$_,(split':')[0]]} @array; print "$_\n" for @sorted;