I like the idea. It's a decent implementation of it too, though there are a few places where it could be improved upon: First, there's a bug in your timestamp generation (minutes 0..9 will show up as 01..10, if it's started at exactly 10 minutes after the hour you'll get a warning and nothing after the : in the time.) But it's better done with POSIX::strftime or with localtime(). Also, you should put some of your common text into vairables and use a sepperate sub for your repeated calls to set_info. Remember, when you cut-and-paste a lot, you're probably better off using some form of abstraction to get one master copy and a bunch of references to it.
Confession: It does an Immortal Body good.