package Util::Stool;
##############################################################################
#
# DESCRIPTION: STOOLs are a set of compiled programs which are useful for
# DESCRIPTION: processing. They are not generally released to the public.
# DESCRIPTION: All this class adds to its parent is a knowledge of the
# DESCRIPTION: STOOL executable directory.
#
# HISTORY:
#
# VERSION: 1.0
#
##############################################################################
use Util::Tool;
@ISA=("Util::Tool");
use strict;
my $BIN;
my $VERSION;
sub new { #(tool)
my $self=shift;
my $tool=shift;
$self=$self->SUPER::new($BIN,$tool);
return $self;
}
######################
# ACCESSORS:
######################
##############################################################
# get or set the STOOL executable directory in the class data
##############################################################
sub bin {
my $self=shift;
if (@_) {
#########################
# set bin directory
#########################
$BIN = shift;
##########################################
# parse the STOOLS version name
##########################################
($VERSION) = $BIN =~ m|/stools\.([^/]*)/|;
}
return $BIN;
}
sub DESTROY {
my $self = shift;
# check for an overridden destructor...
$self->SUPER::DESTROY if $self->can("SUPER::DESTROY");
}
1;