in reply to Re: sorting an array with decimal points
in thread sorting an array with decimal points
I first thought it would never work because 10.1 would come before 2.1, but then, thinking back about it, I wondered whether it might actually work thanks to the coercion of version numbers into decimal numbers imposed by the <=> operator, but I wasn't quite sure. So, I just tried it, and yes, it does work properly:
$ perl -e 'use strict; > use warnings; > use feature "say"; > > my @array = qw(Patch_11.4 Patch_1.0 Patch_2.0 Patch_3.1 Patch_5.0 Pa +tch_4.2 Patch_6.0 > Patch_11.0 Patch_7.0 Patch_8.0 Patch_9.3 Patch_10.2 P +atch_11.2); > my @array2 = sort { substr($a, 6) <=> substr($b, 6)} @array; > say for @array2; > ' Patch_1.0 Patch_2.0 Patch_3.1 Patch_4.2 Patch_5.0 Patch_6.0 Patch_7.0 Patch_8.0 Patch_9.3 Patch_10.2 Patch_11.0 Patch_11.2 Patch_11.4
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: sorting an array with decimal points
by syphilis (Archbishop) on Jan 15, 2018 at 02:50 UTC | |
by Laurent_R (Canon) on Jan 15, 2018 at 23:16 UTC | |
|
Re^3: sorting an array with decimal points
by levW (Beadle) on Jan 14, 2018 at 10:08 UTC | |
by BillKSmith (Monsignor) on Jan 14, 2018 at 14:39 UTC |