diff -ur Getopt_Auto-1.9.0_original/lib/Getopt/Auto.pm Getopt_Auto-1.9.0/lib/Getopt/Auto.pm
--- Getopt_Auto-1.9.0_original/lib/Getopt/Auto.pm	2010-01-05 16:00:49.000000000 -0600
+++ Getopt_Auto-1.9.0/lib/Getopt/Auto.pm	2010-01-17 20:29:27.000000000 -0600
@@ -440,8 +440,9 @@
         }
 
         # Now move what the POD processing found into a useful format.
-        my ( $n, $spec, @this_spec );
-        while ( ( $n, $spec ) = each %{ $pod->{'funcs'} } ) {
+        my @this_spec;
+        foreach my $n ( sort keys %{ $pod->{'funcs'} } ) {
+            my $spec = $pod->{'funcs'}{$n};
 
             if ( exists $spec->{'longhelp'} ) {
                 $spec->{'longhelp'} =~ s{\n+\z}{\n}smx;
diff -ur Getopt_Auto-1.9.0_original/t/03-options_bare.t Getopt_Auto-1.9.0/t/03-options_bare.t
--- Getopt_Auto-1.9.0_original/t/03-options_bare.t	2010-01-05 15:53:48.000000000 -0600
+++ Getopt_Auto-1.9.0/t/03-options_bare.t	2010-01-17 20:32:11.000000000 -0600
@@ -43,21 +43,21 @@
 
 # What we expect to find in the spec list
 my @exspec = (
-    [   'nosubs', 'bump a counter',
-        'Nosub has -- surprise -- no associated sub
-', undef,
-    ],
-    [   'tar', $EMPTY, 'This is the long help for tar, which has no short help
-', \&tar,
-    ],
     [   'bar', 'do a bar', 'This is the help for bar
 ', \&bar,
     ],
-    [ 'eq3', 'assignment op, no sub', undef, undef, ],
     [ 'eq1', 'assignment op', undef, \&eq1, ],
+    [ 'eq3', 'assignment op, no sub', undef, undef, ],
     [   'foo', 'do a foo', 'This is the help for foo
 ', \&foo,
     ],
+    [   'nosubs', 'bump a counter',
+        'Nosub has -- surprise -- no associated sub
+', undef,
+    ],
+    [   'tar', $EMPTY, 'This is the long help for tar, which has no short help
+', \&tar,
+    ],
 );
 
 # What we expect to find in the options hash
diff -ur Getopt_Auto-1.9.0_original/t/03-options_text.t Getopt_Auto-1.9.0/t/03-options_text.t
--- Getopt_Auto-1.9.0_original/t/03-options_text.t	2010-01-05 15:43:43.000000000 -0600
+++ Getopt_Auto-1.9.0/t/03-options_text.t	2010-01-17 20:34:48.000000000 -0600
@@ -40,13 +40,13 @@
 
 # What we expect to find in the spec list
 my @exspec = (
-    [ '--tar', '', undef, \&tar ],
+    [ '--bar', 'do a bar', undef, \&bar ],
     [   '--foo', 'do a foo', 'Test long help for foo.
 
 And this is the second paragraph for foo\'s help.
 ', \&foo
     ],
-    [ '--bar', 'do a bar', undef, \&bar ],
+    [ '--tar', '', undef, \&tar ],
 );
 
 # What we expect to find in the options hash
