use strict; use warnings; use Data::Dump 'pp'; sub mode_num { my %count = (); my %opt = %{ shift @_ }; print pp(\%opt),"\n"; } my @numbers = ( 2, 3, 3, 3, 5, 7, 8, 12, 32, 44, 55, 12, 3, 23, 43, 33, 1, 4, 25, 43, 42, 1, 4, 5, 3, 3, 3 ); my $mode = mode_num(@numbers); print "Mode is: $mode\n"; #### Can't use string ("2") as a HASH ref while "strict refs" in use at xyz.pl line 8. #### my $temp = shift @_; print "temp is ", pp($temp>), "\n"; my %opt = %{ $temp }; #### temp is 2 Can't use string ("2") as a HASH ref while "strict refs" in use at xyz.pl line 10.