in reply to
You may be interested in the module Language::Functional, which implements the Haskall approach to programming; in this module, functions are treated in such a way that one can easily represent infinite series, which are only evalauted when needed.
UPDATE: L::F is the 'new & improved' version of F.pm that I was thinking about but still by the same author, thanks eduardo
Dr. Michael K. Neylon - email@example.com
"You've left the lens cap of your mind on again, Pinky" - The Brain