add perl version flyweight pattern