/usr/share/perl5/MySQL/Diff/Utils.pm is in libmysql-diff-perl 0.50-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 | package MySQL::Diff::Utils;
=head1 NAME
MySQL::Diff::Utils - Supporting functions for MySQL:Diff
=head1 SYNOPSIS
use MySQL::Diff::Utils qw(debug_level debug);
=head1 DESCRIPTION
Currently contains the debug message handling routines.
=cut
use warnings;
use strict;
our $VERSION = '0.50';
# ------------------------------------------------------------------------------
# Libraries
use IO::File;
# ------------------------------------------------------------------------------
# Export Components
use base qw(Exporter);
our @EXPORT_OK = qw(debug_file debug_level debug);
# ------------------------------------------------------------------------------
=head1 FUNCTIONS
=head2 Public Functions
Fuller documentation will appear here in time :)
=over 4
=item * debug_file( $file )
Accessor to set/get the current debug log file.
=item * debug_level( $level )
Accessor to set/get the current debug level for messages.
Current levels range from 1 to 4, with 1 being very brief processing messages,
2 providing high level process flow messages, 3 providing low level process
flow messages and 4 providing data dumps, etc where appropriate.
=item * debug
Writes to debug log file (if specified) and STDERR the given message, provided
is equal to or lower than the current debug level.
=back
=cut
{
my $debug_file;
my $debug_level = 0;
sub debug_file {
my ($new_debug_file) = @_;
$debug_file = $new_debug_file if defined $new_debug_file;
return $debug_file;
}
sub debug_level {
my ($new_debug_level) = @_;
$debug_level = $new_debug_level if defined $new_debug_level;
return $debug_level;
}
sub debug {
my $level = shift;
return unless($debug_level >= $level && @_);
if($debug_file) {
if(my $fh = IO::File->new($debug_file, 'a+')) {
print $fh @_,"\n";
$fh->close;
return;
}
}
print STDERR @_,"\n";
}
}
1;
__END__
=head1 COPYRIGHT AND LICENSE
Copyright (c) 2000-2016 Adam Spiers. All rights reserved. This
program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
=head1 SEE ALSO
L<mysqldiff>, L<MySQL::Diff>, L<MySQL::Diff::Database>, L<MySQL::Diff::Table>
=head1 AUTHOR
Adam Spiers <mysqldiff@adamspiers.org>
=cut
|