Run::Parts — run-parts in Perl
The Perl module
offers the functionality of Debian's
run-parts tool in Perl.
Run::Parts runs all the executable files named within constraints
Run::Parts::Perl, found in the given
directory. Other files and directories are silently ignored.
Additionally it can just print the names of the all matching files (not limited to executables, but ignores blacklisted files like e.g. backup files), but don't actually run them.
This is useful when functionality or configuration is split over multiple files in one directory. A typical convention is that the directory name ends in ".d". Common examples for such splitted configuration directories:
/etc/cron.d/ /etc/apt/apt.conf.d/ /etc/apt/sources.list.d/, /etc/aptitude-robot/pkglist.d/ /etc/logrotate.d/ /etc/rsyslog.d/
use Run::Parts; my $rp = Run::Parts->new('directory'); # chooses backend automatically my $rpp = Run::Parts->new('directory', 'perl'); # pure perl backend my $rpd = Run::Parts->new('directory', 'debian'); # uses /bin/run-parts my @file_list = $rp->list; my @executables_list = $rpp->test; my $commands_output = $rpd->run; ...
Run::Parts contains two backend implementations.
Run::Parts::Debian actually uses
Run::Parts::Perl is a pure Perl implementation of a basic set of
Run::Parts::Debian may or may not work with RedHat's simplified
shell-script based reimplementation of Debian's
Run::Parts::Perl otherwise. But you can also choose any of
the backends explicitly.
Distribution and Download
- Git repository on GitHub
- On the Comprehensive Perl Archive Network (CPAN):
- librun-parts-perl in Debian QA page
- librun-parts-perl in Ubuntu Launchpad page
Author, License and Copyright
Copyright 2013-2014 Axel Beckert firstname.lastname@example.org.
This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation, either version 1, or (at your option) any later version; or the Artistic License.
See http://dev.perl.org/licenses/ for more information.
Testing, Continuous Integration and Code Coverage
- Travis CI Build Status
- Coveralls.io Statement Coverage Status
- CPANTS Kwalitee (once after each upload to CPAN)
- CPAN Testers Smoke Tests (on many platforms and Perl versions after each upload to CPAN)
- Piuparts (package installation, upgrading and removal testing; at least after each upload to Debian)
- Debcheck (mostly dependency checking; at least after each upload to Debian)
- Code Statistics on OpenHub (formerly Ohloh) (every few days)
- Code Coverage of Run-Parts 0.08 at cpancover.com