my @array = 1..10; my @hash = ('x' => 20, 'y' => 30); &Sub1($#array, @array, %hash); sub Sub1 { my $lastArrayIndex = shift(@_); my @array1 = @_[0..$lastArrayIndex]; my %hash1 = @_[$lastArrayIndex+1..$#]; print "@array1"; }