{ my %cache; sub memoized { ( $cache{$a} ||= substr($a, -(19+20), 19) ) cmp ( $cache{$b} ||= substr($b, -(19+20), 19) ); } } #### Rate st memoized naive grt st 10281/s -- -6% -51% -54% memoized 10930/s 6% -- -48% -51% naive 20942/s 104% 92% -- -5% grt 22143/s 115% 103% 6% --