Padre::Task::PPI(3pm) User Contributed Perl Documentation Padre::Task::PPI(3pm)NAME
Padre::Task::PPI - Generic PPI background processing task
SYNOPSIS
package Padre::Task::MyFancyTest;
use strict;
use base 'Padre::Task::PPI';
# Will be called after ppi-parsing:
sub process {
my $self = shift;
my $ppi = shift or return;
my $result = ...expensive_calculation_using_ppi...
$self->{result} = $result;
return;
}
1;
# elsewhere:
Padre::Task::MyFancyTest->new(
text => 'parse-this!',
)->schedule;
DESCRIPTION
This is a base class for all tasks that need to do expensive calculations using PPI. The class will setup a PPI::Document object from a
given piece of code and then call the "process_ppi" method on the task object and pass the PPI::Document as first argument.
You can either let "Padre::Task::PPI" fetch the Perl code for parsing from the current document or specify it as the ""text"" parameter to
the constructor.
Note: If you don't supply the document text and there is no currently open document to fetch it from, "new()" will simply return the empty
list instead of a "Padre::Task::PPI" object.
SEE ALSO
This class inherits from "Padre::Task" and its instances can be scheduled using "Padre::TaskManager".
The transfer of the objects to and from the worker threads is implemented with Storable.
AUTHOR
Steffen Mueller "smueller@cpan.org"
COPYRIGHT AND LICENSE
Copyright 2008-2012 The Padre development team as listed in Padre.pm.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl 5 itself.
perl v5.14.2 2012-06-27 Padre::Task::PPI(3pm)
Check Out this Related Man Page
Padre::Task::File(3pm) User Contributed Perl Documentation Padre::Task::File(3pm)NAME
Padre::Task::File - File operations in the background
SYNOPSIS
# Recursively delete
Padre::Task::File->new(
remove => 'C:fooaraz',
)->schedule;
DESCRIPTION
The File::Remove CPAN module is a specialised package for deleting files or recursively deleting directories.
As well as providing the basic support for recursive deletion, it adds several other important features such as removing readonly limits on
the fly, taking ownership of files if permitted, and moving the current working directory out of the deletion path so that directory
cursors won't block the deletion (a particular problem on Windows).
The task takes the name of a single file or directory to delete (for now), and proceeds to attempt a recursive deletion of the file or
directory via the File::Remove "remove" method.
In the future, this module will also support more types of file operations and support the execution of a list of operations.
METHODS
new
my $task = Padre::Task::File->new(
remove => '/foo/bar/baz',
);
Creates a new deletion task.
Takes a single parameter "remove" which must be an absolute path to the file to delete (as the "current directory" may change between the
time the removal task is created and when it is executed).
remove
The "remove" accessor returns the absolute path of the file or directory the task will try to delete (or tried to delete in the case of
completed tasks).
SEE ALSO
Padre, Padre::Task, File::Remove
COPYRIGHT
Copyright 2008-2012 The Padre development team as listed in Padre.pm.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl 5 itself.
The full text of the license can be found in the LICENSE file included with this module.
perl v5.14.2 2012-06-27 Padre::Task::File(3pm)