#! /usr/bin/perl -w
package debug;

use strict;
use warnings;

use Exporter ();
our ($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS);
$VERSION     = 1.00;

@ISA = qw(Exporter);
@EXPORT = qw( &perror &pwarn &pinfo &pdebug );
@EXPORT_OK = qw();

use constant {
  ERROR => 0,
  WARN  => 1,
  INFO  => 2,
  DEBUG => 3,
};

my $debug_level = ERROR;

##########################################################################################
##########################################################################################
sub this_print {
  my $level = shift;
  my $output = shift;

  if($level <= $debug_level) {
    print STDERR $output . "\n";
  }
}


##########################################################################################
##########################################################################################
sub perror {
  this_print(ERROR, "[EE] " . shift);
}

##########################################################################################
##########################################################################################
sub pwarn {
  this_print(WARN, "[WW] " .  shift);
}

##########################################################################################
##########################################################################################
sub pinfo {
  this_print(INFO, "[II] " . shift);
}

##########################################################################################
##########################################################################################
sub pdebug {
  this_print(DEBUG, "[DD] " . shift);
}

1;
