in reply to am coming to hate syslog

An untested solution that I think would work.

Set up the syslogd to write to a named symbolic link. That way your perl script just needs to look to the link target, when it gets too big, just create a new file and change the link. No renaming, no moving, no fuss.

Unfortunately not supported on Win32 boxes, but you said you're running Solaris.

drinkd