#!c:\perl\bin use strict; use warnings; my @data = (1,-5,0,-8,2,0,4,7,3,6,9); @data = sortData(@data, "Integer"); sub sortData { my @data = $_[0]..$_[scalar(@_)-2]; my $dataType = $_[scalar(@_)-1]; if($dataType eq 'Integer' || $dataType eq 'Float') { sort {$a <=> $b} @data; } else { sort @data; } }