Although virus scanning can be done with Perl, you will be unsatisfied with the speed. You should look at Clam AV It has a utility for making a binary fingerprint of any virus, and adding it to it's database of what to scan for. There are Perl modules available to use ClamAV.