Use tightly scoped lexicals. They are automatically destroyed as they go out of scope, leaving space for the next scopes's lexicals.
Read files record by record instead of slurping them. Related to that,
Use pronouns. $_ and @_ do very well for many uses of temporary lexicals.
The memory number you need to worry about is peak usage. Perl hangs on to any memory the system gives it, and doesn't let go till the perl process ends. That has major importance for long-running processes, as with mod_perl and other daemons.