Bio-EnsEMBL
view release on metacpan or search on metacpan
lib/Bio/EnsEMBL/Utils/ConfParser.pm view on Meta::CPAN
exit unless user_proceed("Continue?", 1, 'n');
}
return(1);
}
=head2 param
Arg[1] : Parameter name
Arg[2..n] : (optional) List of values to set
Example : # getter
my $dbname = $conf->param('dbname');
# setter
$conf->param('port', 3306);
$conf->param('chromosomes', 1, 6, 'X');
Description : Getter/setter for parameters. Accepts single-value params and
list params.
Return type : Scalar value for single-value parameters, array of values for
list parameters
Exceptions : thrown if no parameter name is supplied
Caller : general
Status : At Risk
: under development
=cut
sub param {
my $self = shift;
my $name = shift or throw("You must supply a parameter name");
# setter
if (@_) {
if (scalar(@_) == 1) {
# single value
$self->{'_param'}->{$name} = shift;
} else {
# list of values
undef $self->{'_param'}->{$name};
@{ $self->{'_param'}->{$name} } = @_;
}
}
# getter
if (ref($self->{'_param'}->{$name}) eq 'ARRAY') {
# list parameter
return @{ $self->{'_param'}->{$name} };
} elsif (defined($self->{'_param'}->{$name})) {
# single-value parameter
return $self->{'_param'}->{$name};
} else {
return undef;
}
}
=head2 is_true
Arg[1] : Parameter name
Example : unless ($conf->is_true('upload')) {
print "Won't upload data.\n";
next;
}
Description : Checks whether a param value is set to 'true', which is defined
here as TRUE (in the Perl sense) but not the string 'no'.
Return type : Boolean
Exceptions : thrown if no parameter name is supplied
Caller : general
Status : At Risk
: under development
=cut
sub is_true {
my $self = shift;
my $name = shift or throw("You must supply a parameter name");
my $param = $self->param($name);
if ($param and !($param =~ /^no$/i)) {
return(1);
} else {
return(0);
}
}
=head2 list_params
Example : print "Current parameter names:\n";
foreach my $param (@{ $conf->list_params }) {
print " $param\n";
}
Description : Returns a list of the currently available parameter names. The
list will be in the same order as option definitions were
passed to the new() method.
Return type : Arrayref of parameter names
Exceptions : none
Caller : list_param_values(), create_commandline_options()
Status : At Risk
: under development
=cut
sub list_params {
my $self = shift;
return $self->{'_ordered_params'} || [];
}
=head2 list_param_values
Example : print LOG $conf->list_param_values;
Description : prints a table of the parameters used in the script
Return type : String - the table to print
Exceptions : none
Caller : general
Status : At Risk
: under development
=cut
( run in 0.625 second using v1.01-cache-2.11-cpan-b16cb0d3907 )