#!/usr/bin/perl use strict; use warnings; use Data::Dumper; my %hash_1 = (a => 26, b => 2, c => 3); my %hash_2 = (z => 26, y => 25); my ($ahashref, $bhashref) = func(\%hash_1, \%hash_2); print Dumper $ahashref, $bhashref; sub func { my ($cref, $dref) = @_; if (keys %$cref > keys %$dref) { return ($cref, $dref); } else { return ($dref, $cref); } } #### print Dumper \@_; $VAR1 = [ { 'b' => 2, 'a' => 26, 'c' => 3 }, { 'y' => 25, 'z' => 26 } ];