81 lines
1.5 KiB
Perl
81 lines
1.5 KiB
Perl
######################################################################
|
|
# subs
|
|
######################################################################
|
|
|
|
###
|
|
sub capitalize {
|
|
local($str) = $_[0];
|
|
local($head) = ord(substr($str,0,1));
|
|
local($tail) = substr($str,1);
|
|
$head = $head - 32 if $head >= 97 && $head ne '_';
|
|
return sprintf("%c%s",$head,$tail);
|
|
}
|
|
|
|
###
|
|
sub uncapitalize {
|
|
local($str) = $_[0];
|
|
local($head) = ord(substr($str,0,1));
|
|
local($tail) = substr($str,1);
|
|
$head = $head + 32 if $head <= 97 && $head ne '_';
|
|
return sprintf("%c%s",$head,$tail);
|
|
}
|
|
|
|
### user debug message
|
|
sub msg {
|
|
print STDERR $0.": ".$_[0]."\n" if $debug;
|
|
}
|
|
|
|
###
|
|
sub die {
|
|
$prog = &basename($0);
|
|
print STDERR $prog.": ".$_[0]."\n";
|
|
exit(1);
|
|
}
|
|
|
|
###
|
|
sub warn {
|
|
$prog = &basename($0);
|
|
print STDERR $prog.": ".$_[0]."\n" if ! $nowarn;
|
|
}
|
|
|
|
###
|
|
sub info {
|
|
$prog = &basename($0);
|
|
print STDERR $prog.": ".$_[0]."\n";
|
|
}
|
|
|
|
### basename of file
|
|
sub basename {
|
|
local($name) = shift;
|
|
local($ext) = shift;
|
|
if($name =~ /.*\/.*/) {
|
|
$name =~ s/.*\/(.*)$ext$/$1/;
|
|
} else {
|
|
$name =~ s/(.*)$ext$/$1/;
|
|
}
|
|
return $name;
|
|
}
|
|
|
|
###
|
|
sub dirname {
|
|
local($name) = shift;
|
|
$name =~ s/(^.*)\/.*$/$1/;
|
|
return $name;
|
|
}
|
|
|
|
### make uniq to array
|
|
sub uniq {
|
|
local(@list) = sort(@_);
|
|
local($item,$prev);
|
|
local(@uniq);
|
|
foreach $item (@list) {
|
|
push(@uniq,$item) if($item ne $prev);
|
|
$prev = $item;
|
|
}
|
|
return @uniq;
|
|
}
|
|
|
|
1;
|
|
|
|
### end of util.pl ###
|