in reply to Picking up where you left off..

Your first idea is better. It's simple and easy to implement. You can store the current position in the file with Storable if you like, and you should be able to move around in the file with a basic "seek" command.