Bio-GMOD-Blast-Graph
view release on metacpan or search on metacpan
lib/Bio/GMOD/Blast/Graph/MyUtils.pm view on Meta::CPAN
my( @names ) = @_;
my( $name );
my( $varName ) = "";
my( $pkg, $file, $line ) = caller();
unshift( @names, $pkg );
$varName .= "__";
foreach $name ( @names )
{
$name =~ tr/a-z/A-Z/;
$varName .= "_$name";
}
$varName .= "_VARIABLE__";
assert( ! defined($usedHash{ $varName }), "duplicate variable name $varName" );
$usedHash{ $varName } = 1;
return( $varName );
}
#####################################################################
sub makeDumpString {
#####################################################################
my( @args ) = @_;
my( $str );
$str = '[';
$str .= join( "][", @args );
$str .= ']';
return( $str );
}
#####################################################################
sub parseNumber {
#####################################################################
my( $data ) = shift;
if( $data =~ m/\s*([\d\.]+)\s*/ )
{
$data = $1; # extract numbers from strings.
}
return( $data );
}
#####################################################################
sub getKey {
#####################################################################
my( @parts ) = @_;
my( $ret ) = join( ":", @parts );
return( $ret );
}
# if the compare returns true, set ref = value.
#####################################################################
sub updateBoundRef {
#####################################################################
my( $ref, $value, $cmpSub ) = @_;
if( !defined( $$ref ) )
{
#dmsg( "updateBoundRef", "setting $ref to $value" );
$$ref = $value;
}
elsif( &{$cmpSub}( $ref, $value ) )
{
$$ref = $value;
}
}
# 1 if($value<$ref)
# 0 otherwise
#####################################################################
sub smallerP {
#####################################################################
my( $ref, $value ) = @_;
my( $p );
if( $value < $$ref ) { $p = 1; }
else { $p = 0; }
return( $p );
}
# 1 if($value>$ref)
# 0 otherwise
#####################################################################
sub largerP {
#####################################################################
my( $ref, $value ) = @_;
my( $p );
if( $value > $$ref ) { $p = 1; }
else { $p = 0; }
return( $p );
}
#####################################################################
sub getArgOrParam {
#####################################################################
my( $dex, $param, @args ) = @_;
my( $value );
if( $dex < scalar(@args) )
{
$value = $args[ $dex ];
}
if( !defined( $value ) )
{
$value = $param;
}
return( $value );
}
( run in 1.117 second using v1.01-cache-2.11-cpan-8f98c5d2c55 )