If I understand this correctly, the program takes every file in /var/local/some_dir/ that isn't older than a day, and tars it up in /backup/some_dir/, right? I'm not sure I understand the reason to tar up each file into a different archive, but I wouldn't do it in Perl, but I'd use the shell instead. Perhaps (untested):
cd /var/local/some_dir
find . -type -f -mtime 1 -maxdepth 1 \
-exec tar cfz /backup/some_dir/{}.tar.gz {} \;
But I guess I'd backup all the files in a single archive; then I'd use find (as above) to list the files, and pipe that into cpio to create the archive.