Sort a list of object identifiers: Difference between revisions

no edit summary
No edit summary
No edit summary
Line 53:
# 17 | .1.3.6.1.4.1.11150.3.4.0.11 |
# 18 | .1.3.6.1.4.1.11150.3.4.0.21 |
 
 
=={{header|Perl}}==
 
<lang perl>
 
#!/usr/bin/perl
 
###--------------------------
### Sort: -OID - Numeric
### Bert Mariani 2016-07-07
###--------------------------
 
@arrayOID = () ;
@arrayOIDSorted = () ;
 
@arrayOID =
(
".1.3.6.1.4.1.11.2.17.19.3.4.0.10",
".1.3.6.1.4.1.11150.3.4.0.2",
".1.3.6.1.4.1.11.2.17.19.3.4.0.19",
".1.3.6.1.4.1.11150.3.4.0.1",
".1.3.6.1.4.1.11.2.17.19.3.4.0.22",
".1.3.6.1.4.1.11.2.17.19.3.4.0.2",
".1.3.6.1.4.1.11150.3.4.0.11",
".1.3.6.1.4.1.11.2.17.19.3.4.0.1",
".1.3.6.1.4.1.11.2.17.3773.0.2",
".1.3.6.1.4.1.11.2.17.19.2.0.79",
".1.3.6.1.4.1.11150.3.4.0.21",
".1.3.6.1.4.1.11.2.17.19.2.0.9",
".1.3.6.1.4.1.11.2.17.19.3.4.0.25",
".1.3.6.1.4.1.11.2.17.19.3.4.0.32",
".1.3.6.1.4.1.11.2.17.19.3.4.0.4",
".1.3.6.1.4.1.11.2.17.19.3.4.0.31",
".1.3.6.1.4.1.11.2.17.19.3.4.0.3",
".1.3.6.1.4.1.11.2.17.3773.0.1"
);
 
### One big long line ... made readable
@arrayOIDSorted =
map { $_->[0] }
sort { $a->[1] cmp $b->[1] }
map { [ $_,
join '', map { sprintf("%8d",$_) }
split( /\./, $_)
]
}
@arrayOID;
 
print "\nAfter OID Sort \n\n";
$ptrN = 0;
$entry = 1;
 
while ( $arrayOIDSorted[$ptrN] )
{
print "$entry | $arrayOIDSorted[$ptrN] |\n" ;
$entry++;
$ptrN++;
}
 
print "\nEnd OID Sort \n\n";
 
###=========================================
#
# After OID Sort
#
# 1 | .1.3.6.1.4.1.11.2.17.19.2.0.9 |
# 2 | .1.3.6.1.4.1.11.2.17.19.2.0.79 |
# 3 | .1.3.6.1.4.1.11.2.17.19.3.4.0.1 |
# 4 | .1.3.6.1.4.1.11.2.17.19.3.4.0.2 |
# 5 | .1.3.6.1.4.1.11.2.17.19.3.4.0.3 |
# 6 | .1.3.6.1.4.1.11.2.17.19.3.4.0.4 |
# 7 | .1.3.6.1.4.1.11.2.17.19.3.4.0.10 |
# 8 | .1.3.6.1.4.1.11.2.17.19.3.4.0.19 |
# 9 | .1.3.6.1.4.1.11.2.17.19.3.4.0.22 |
# 10 | .1.3.6.1.4.1.11.2.17.19.3.4.0.25 |
# 11 | .1.3.6.1.4.1.11.2.17.19.3.4.0.31 |
# 12 | .1.3.6.1.4.1.11.2.17.19.3.4.0.32 |
# 13 | .1.3.6.1.4.1.11.2.17.3773.0.1 |
# 14 | .1.3.6.1.4.1.11.2.17.3773.0.2 |
# 15 | .1.3.6.1.4.1.11150.3.4.0.1 |
# 16 | .1.3.6.1.4.1.11150.3.4.0.2 |
# 17 | .1.3.6.1.4.1.11150.3.4.0.11 |
# 18 | .1.3.6.1.4.1.11150.3.4.0.21 |
#
# End OID Sort
#===========================================
 
/<lang perl>
36

edits