Memoize is useful, but having to specify routines seems a bit backwards. ie. sub my_subroutine { .. do stuff .. } memoize('my_subroutine'); Luckily, you can enable a method annotation instead, with Attribute::Memoize: ie. sub my_subroutine :Memoize { .. do stuff .. } tjc