32 lines
700 B
Perl
32 lines
700 B
Perl
package COMMON;
|
|
|
|
use strict;
|
|
use warnings;
|
|
use Carp;
|
|
|
|
$ENV{LC_ALL} = 'C'; # needed for sorting order.
|
|
|
|
####
|
|
sub get_sort_exec {
|
|
my ($num_threads) = @_;
|
|
|
|
# check it like so:
|
|
# perl -MCOMMON -e 'print COMMON::get_sort_exec(4);'
|
|
|
|
my $sort_exec = `sh -c "command -v sort"`;
|
|
unless ($sort_exec =~ /\w/) {
|
|
confess "Error, cannot find sort utility";
|
|
}
|
|
$sort_exec =~ s/\s//g;
|
|
|
|
my $help_text = `$sort_exec --help`;
|
|
if ($help_text =~ m|--parallel|) {
|
|
## could do simple versioning check, but I don't remember which version started using parallel
|
|
$sort_exec = "$sort_exec --parallel=$num_threads";
|
|
}
|
|
|
|
return($sort_exec);
|
|
}
|
|
|
|
1; #EOM
|