mirror of
https://github.com/percona/percona-toolkit.git
synced 2025-09-04 19:37:49 +00:00

Not updated in files that will be updated during the build like the python script, Makefile.PL and some other files like documentation.
71 lines
2.2 KiB
Perl
71 lines
2.2 KiB
Perl
# This program is copyright 2012-2014 Percona LLC and/or its affiliates.
|
|
#
|
|
# THIS PROGRAM IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
|
|
# WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
|
|
# MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
|
#
|
|
# This program is free software; you can redistribute it and/or modify it under
|
|
# the terms of the GNU General Public License as published by the Free Software
|
|
# Foundation, version 2; OR the Perl Artistic License. On UNIX and similar
|
|
# systems, you can issue `man perlgpl' or `man perlartistic' to read these
|
|
# licenses.
|
|
#
|
|
# You should have received a copy of the GNU General Public License along with
|
|
# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
|
|
# Place, Suite 330, Boston, MA 02111-1307 USA.
|
|
# ###########################################################################
|
|
# Percona::Toolkit package
|
|
# ###########################################################################
|
|
package Percona::Toolkit;
|
|
|
|
our $VERSION = '3.3.2';
|
|
|
|
use strict;
|
|
use warnings FATAL => 'all';
|
|
use English qw(-no_match_vars);
|
|
use constant PTDEBUG => $ENV{PTDEBUG} || 0;
|
|
|
|
use Carp qw(carp cluck);
|
|
use Data::Dumper qw();
|
|
|
|
require Exporter;
|
|
our @ISA = qw(Exporter);
|
|
our @EXPORT_OK = qw(
|
|
have_required_args
|
|
Dumper
|
|
_d
|
|
);
|
|
|
|
sub have_required_args {
|
|
my ($args, @required_args) = @_;
|
|
my $have_required_args = 1;
|
|
foreach my $arg ( @required_args ) {
|
|
if ( !defined $args->{$arg} ) {
|
|
$have_required_args = 0;
|
|
carp "Argument $arg is not defined";
|
|
}
|
|
}
|
|
cluck unless $have_required_args; # print backtrace
|
|
return $have_required_args;
|
|
}
|
|
|
|
sub Dumper {
|
|
local $Data::Dumper::Indent = 1;
|
|
local $Data::Dumper::Sortkeys = 1;
|
|
local $Data::Dumper::Quotekeys = 0;
|
|
Data::Dumper::Dumper(@_);
|
|
}
|
|
|
|
sub _d {
|
|
my ($package, undef, $line) = caller 0;
|
|
@_ = map { (my $temp = $_) =~ s/\n/\n# /g; $temp; }
|
|
map { defined $_ ? $_ : 'undef' }
|
|
@_;
|
|
print STDERR "# $package:$line $PID ", join(' ', @_), "\n";
|
|
}
|
|
|
|
1;
|
|
# ###########################################################################
|
|
# End Percona::Toolkit package
|
|
# ###########################################################################
|