my @array= qw ( this that the the other this the off ); print most_frequent(@array),"\n"; sub most_frequent { local *_=*_; $_[$_{$_}] = $_ for map{$_{$_}++; $_} @_; $_[-1]; }