NAME

File::Scan - Perl extension for Scanning files for Viruses

SYNOPSIS

use File::Scan;

$fs = File::Scan->new([, OPTION ...]);
$fs->scan([FILE]);
if(my $e = $fs->error) { print "$e\n"; }
if(my $c $fs->skipped) { print "file skipped ($c)\n"; }

DESCRIPTION

This module is designed to allows users to scan files for known viruses. The purpose is to provide a perl module to make plataform independent virus scanners.

METHODS

new([, OPTION ...])

This method create a new File::Scan object. The following keys are available:

extension => 'string'

add the specified extension to the infected file

move => 'directory'

move the infected file to the specified directory

copy => 'directory'

copy the infected file to the specified directory

mkdir => octal_number

if the value is set to octal number then make the specified directories (example: mkdir => 0755).

delete => 0 or 1

if the value is set to 1 delete the infected file

max_txt_size => 'size in kbytes'

scan only the text file if the file size is less then max_txt_size. The default value is 5120 kbytes. Set to 0 for no limit.

max_bin_size => 'size in kbytes'

scan only the binary file if the file size is less then max_bin_size. The default value is 10240 kbytes. Set to 0 for no limit.

scan([FILE])

This method scan a file for viruses and return the name of virus if a virus is found.

skipped()

This method return a code number if the file was skipped and 0 if not. The following skipped codes are available:

0

file not skipped

1

file is not vulnerable

2

file has zero size

3

the size of file is small

4

the text file size is greater that the 'max_txt_size' argument

5

the binary file size is greater that the 'max_bin_size' argument

error()

This method return a error message if a error happens.

AUTHOR

Henrique Dias <hdias@esb.ucp.pt>

CREDITS

Thanks to Rui de Castro, Sergio Castro and Ricardo Oliveira for the help.

Thanks to Fernando Martins for the personal collection of viruses.

SEE ALSO

perl(1).

5 POD Errors

The following errors were encountered while parsing the POD:

Around line 319:

Expected text after =item, not a number

Around line 323:

Expected text after =item, not a number

Around line 327:

Expected text after =item, not a number

Around line 331:

Expected text after =item, not a number

Around line 335:

Expected text after =item, not a number