---
name: "Zoidberg::Contractor"
section: "3pm"
platform: "linux"
package: "zoidberg"
version: "0.96-1"
release: "Debian 5.0 (Lenny)"
platforms: ["linux"]
url: "https://new.carta.tech/Zoidberg::Contractor"
---

# Zoidberg::Contractor(3pm)

Zoidberg::Contractor - Module to manage jobs

```
        use Zoidberg::Contractor;
        my $c = Zoidberg::Contractor->new();
```

```
        $c->shell_list( [qw(cat ./log)], '⎪', [qw(grep -i error)] );
```

Zoidberg inherits from this module, it manages jobs. It uses Zoidberg::StringParser. Also it defines Zoidberg::Job and subclasses. FIXME lots of documentation Simple constructor, calls `"shell_init()"`. Initialises things like hashes with signal names and sets terminal control. Should be called before usage when the constructor is overloaded. Recursively calls the `"round_up()"` function of all current jobs. Executes a list of jobs and logic operators. Executes a single job. Checks for jobs that are finished and removes them from the job list. Returns a job object based on the (numeric) id.

(Note that the job list is un-ordered,\
  so the id and the index are not usually identical.) Returns a job object based on a string. The following formats are supported: Job with id *integer* Current job Previous job Last job matching *string* Last job starting with *string* Returns the signal number for a named signal or undef if no such signal exists. Jobs are objects of the class `"Zoidberg::Job"` or a subclass of this class. This object AUTOLOADS methods to process signals. For example:

```
  $job->TERM(); # is identical to
  $job->kill('TERM');
```

**Methods** The job obbjects have the following methods: Simple constructor. Execute the job. Recursively kill the job, ends all child processes forcefully. Take terminal control and run this job in the foreground. Run this job in the background. Sends `$signal` (numeric or named) to all child processes belonging to this job; `$signal` defaults to SIGTERM.

If the boolean `$wipe_list` is set all jobs pending in the same logic list are removed. Set local environment for the current job. Can't be set after the job has started. Set redirections for the current job. Can't be set after the job has started. Jaap Karssenberg, \<pardus@cpan.org\> Raoul Zwart, \<rlzwart@cpan.org\> Copyright 2003 by Jaap Karssenberg This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. zoiddevel(1), Zoidberg, Zoidberg::StringParser
