#!/usr/bin/perl
use 5.016;
use warnings;
use List::Util qw(reduce);

sub count { reduce{ $a->{$b}++; $a } {}, @_ }
sub max_key { reduce{ $_[0]->{$a} > $_[0]->{$b} ? $a : $b } keys %{$_[0]} }
sub f { max_key count split //, shift }

say f("aabaabbab");
