Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

file::scan(3pm) [debian man page]

Scan(3pm)						User Contributed Perl Documentation						 Scan(3pm)

NAME
File::Scan - Perl extension for Scanning files for Viruses SYNOPSIS
use File::Scan; $fs = File::Scan->new([, OPTION ...]); $fs->set_callback( sub { my $filename = shift; my $bytes = shift; ... return("Callback Value"); } ); $fs->scan([FILE]); if(my $e = $fs->error) { print "$e "; } if(my $c = $fs->skipped) { print "file skipped ($c) "; } if($fs->suspicious) { print "suspicious file "; } if(my $res = $fs->callback) { print "$res "; } 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: callback => 'subroutine reference' if the item is set then use a callback subroutine reference to provide extra information and functionalities. The callback subroutine have two arguments: filename and first 1024 bytes read from the file. This only work for binary files. 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. set_callback([SUBREF]) This method is another way to install a callback subroutine reference. Take a look in callback kay. 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 suspicious() This method return 1 if the file is suspicious and 0 if not. callback() This method return the result from the callback subroutine. error() This method return a error message if a error happens. AUTHOR
Henrique Dias <hdias@aesbuc.pt> CREDITS
Thanks to Rui de Castro, Sergio Castro, Ricardo Oliveira, Antonio Campelo, Branca Silveira, Helena Gomes and Anita Afonso for the help. Thanks to Fernando Martins for the personal collection of viruses. SEE ALSO
perl(1). perl v5.10.0 2009-07-19 Scan(3pm)

Check Out this Related Man Page

Net::DBus::Callback(3pm)				User Contributed Perl Documentation				  Net::DBus::Callback(3pm)

NAME
Net::DBus::Callback - a callback for receiving reactor events SYNOPSIS
use Net::DBus::Callback; # Assume we have a 'terminal' object and its got a method # to be invoked everytime there is input on its terminal. # # To create a callback to invoke this method one might use my $cb = Net::DBus::Callback->new(object => $terminal, method => "handle_stdio"); # Whatever is monitoring the stdio channel, would then # invoke the callback, perhaps passing in a parameter with # some 'interesting' data, such as number of bytes available $cb->invoke($nbytes) #... which results in a call to # $terminal->handle_stdio($nbytes) DESCRIPTION
This module provides a simple container for storing details about a callback to be invoked at a later date. It is used when registering to receive events from the Net::DBus::Reactor class. NB use of this module in application code is no longer neccessary and it remains purely for backwards compatability. Instead you can simply pass a subroutine code reference in any place where a callback is desired. METHODS
my $cb = Net::DBus::Callback->new(method => $name, [args => @args]) Creates a new callback object, for invoking a plain old function. The "method" parameter should be the fully qualified function name to invoke, including the package name. The optional "args" parameter is an array reference of parameters to be pass to the callback, in addition to those passed into the "invoke" method. my $cb = Net::DBus::Callback->new(object => $object, method => $name, [args => @args]) Creates a new callback object, for invoking a method on an object. The "method" parameter should be the name of the method to invoke, while the "object" parameter should be a blessed object on which the method will be invoked. The optional "args" parameter is an array reference of parameters to be pass to the callback, in addition to those passed into the "invoke" method. $cb->invoke(@args) Invokes the callback. The argument list passed to the callback is a combination of the arguments supplied in the callback constructor, followed by the arguments supplied in the "invoke" method. AUTHOR
Daniel P. Berrange. COPYRIGHT
Copyright (C) 2004-2011 Daniel P. Berrange SEE ALSO
Net::DBus::Reactor perl v5.14.2 2011-06-30 Net::DBus::Callback(3pm)
Man Page