$ more stringnum.pl use strict; use warnings; use v5.10.1; my @arr= qw(10 10 20 0x47 1 30 45 45); sub do_it_all { no warnings 'numeric'; my $biggest = @_; foreach my $bignum (@_) { if ($bignum > $biggest) { $biggest = $bignum; } } my $smallest = @_; foreach my $smallnum (@_) { if ($smallnum < $smallest) { $smallest = $smallnum; } } push my @unique, $smallest..$biggest; print "@unique\n"; } &do_it_all(@arr);