$a[ 0 ] cmp $b[ 0 ]
####
nameToNumber{ $a[ 0 ] } <=> nameToNumber{ $b[ 0 ] }
##
##
#! perl -sw
use strict;
print for sort {
my @a = $a =~ m[(\w+)\s+(\d+)(?::(\d+))?];
my @b = $b =~ m[(\w+)\s+(\d+)(?::(\d+))?];
$a[ 0 ] cmp $b[ 0 ]
or
$a[ 1 ] <=> $b[ 1 ]
or
$2 and $a[ 2 ] <=> $b[ 2 ] or 0;
} ;
__DATA__
Acts 4:29-31
Numbers 14:10
Luke 1:20
John 16:15
Acts 2:4
1 Peter 1:22
Psalm 56:3
2 Corinthians 12:2, 4, 1, 11
Ephesians 3:18, 19
Ephesians 4:14, 13, 17, 18; 5:15, 16
Matthew 24:24
Colossians 2:6-8
Hebrews 10:35-39
Hebrews 4:10-12
Philippians 1:6, 27-29
Matthew 7:6-12, 15
Philippians 2:13-15
##
##
C:\test>junk66
Acts 2:4
Acts 4:29-31
Colossians 2:6-8
2 Corinthians 12:2, 4, 1, 11
Ephesians 3:18, 19
Ephesians 4:14, 13, 17, 18; 5:15, 16
Hebrews 4:10-12
Hebrews 10:35-39
John 16:15
Luke 1:20
Matthew 7:6-12, 15
Matthew 24:24
Numbers 14:10
1 Peter 1:22
Philippians 1:6, 27-29
Philippians 2:13-15
Psalm 56:3