#!/usr/bin/env perl # This pseudo-script is for developers to see if their box has all # the modules necessary for testing Percona Toolkit. Any missing # modules will cause an error like "Can't locate Foo.pm in @INC ...". # Else the version for each module used by this script will be printed. # # In addition to these modules, many non-standard programs are needed # for other tasks, like building packages, writing test coverage, etc. # # Exits 0 if all modules are installed, else exits non-zero. use Data::Dumper; use DBD::mysql; use DBI; use Digest::Crc32; use Digest::MD5; use File::Basename; use File::Find; use File::Spec; use File::Temp; use Getopt::Long; use IO::File; use IO::Uncompress::Inflate; use List::Util; use POSIX; use Socket; use Term::ReadKey; use Test::More; use Time::HiRes; use Time::Local; my $file = __FILE__; my $m = `cat $file | grep '^use'`; my @modules = map { m/use (.+?);/; $1 } split("\n", $m); foreach my $module ( @modules ) { my $version = "${module}::VERSION"; print "$module " . ${$version} . "\n"; } exit 0;