my $digits = qr/^\d+$/; sub eitherComp { my($a, $b) = @_; return $a <=> $b if ($a =~ $digits and $b =~ $digits); return $a cmp $b; }