in reply to Beginner question about files deletion

Sometimes, the easy solution is to not use perl.
$ find a/b -maxdepth 1 '!' -name '*.zip' -type f -exec rm '{}' ';'
Or, from Perl:
unlink `find a/b -maxdepth 1 '!' -name '*.zip' -type f`;
If you're silly enough to put newlines in your filenames, use
unlink split /\x00/, `find a/b -maxdepth 1 '!' -name '*.zip' -type f - +print0`;