1 |
root |
1.1 |
###################################################################### |
2 |
|
|
# subs |
3 |
|
|
###################################################################### |
4 |
|
|
|
5 |
|
|
### |
6 |
|
|
sub capitalize { |
7 |
|
|
local($str) = $_[0]; |
8 |
|
|
local($head) = ord(substr($str,0,1)); |
9 |
|
|
local($tail) = substr($str,1); |
10 |
|
|
$head = $head - 32 if $head >= 97 && $head ne '_'; |
11 |
|
|
return sprintf("%c%s",$head,$tail); |
12 |
|
|
} |
13 |
|
|
|
14 |
|
|
### |
15 |
|
|
sub uncapitalize { |
16 |
|
|
local($str) = $_[0]; |
17 |
|
|
local($head) = ord(substr($str,0,1)); |
18 |
|
|
local($tail) = substr($str,1); |
19 |
|
|
$head = $head + 32 if $head <= 97 && $head ne '_'; |
20 |
|
|
return sprintf("%c%s",$head,$tail); |
21 |
|
|
} |
22 |
|
|
|
23 |
|
|
### user debug message |
24 |
|
|
sub msg { |
25 |
|
|
print STDERR $0.": ".$_[0]."\n" if $debug; |
26 |
|
|
} |
27 |
|
|
|
28 |
|
|
### |
29 |
|
|
sub die { |
30 |
|
|
$prog = &basename($0); |
31 |
|
|
print STDERR $prog.": ".$_[0]."\n"; |
32 |
|
|
exit(1); |
33 |
|
|
} |
34 |
|
|
|
35 |
|
|
### |
36 |
|
|
sub warn { |
37 |
|
|
$prog = &basename($0); |
38 |
|
|
print STDERR $prog.": ".$_[0]."\n" if ! $nowarn; |
39 |
|
|
} |
40 |
|
|
|
41 |
|
|
### |
42 |
|
|
sub info { |
43 |
|
|
$prog = &basename($0); |
44 |
|
|
print STDERR $prog.": ".$_[0]."\n"; |
45 |
|
|
} |
46 |
|
|
|
47 |
|
|
### basename of file |
48 |
|
|
sub basename { |
49 |
|
|
local($name) = shift; |
50 |
|
|
local($ext) = shift; |
51 |
|
|
if($name =~ /.*\/.*/) { |
52 |
|
|
$name =~ s/.*\/(.*)$ext$/$1/; |
53 |
|
|
} else { |
54 |
|
|
$name =~ s/(.*)$ext$/$1/; |
55 |
|
|
} |
56 |
|
|
return $name; |
57 |
|
|
} |
58 |
|
|
|
59 |
|
|
### |
60 |
|
|
sub dirname { |
61 |
|
|
local($name) = shift; |
62 |
|
|
$name =~ s/(^.*)\/.*$/$1/; |
63 |
|
|
return $name; |
64 |
|
|
} |
65 |
|
|
|
66 |
|
|
### make uniq to array |
67 |
|
|
sub uniq { |
68 |
|
|
local(@list) = sort(@_); |
69 |
|
|
local($item,$prev); |
70 |
|
|
local(@uniq); |
71 |
|
|
foreach $item (@list) { |
72 |
|
|
push(@uniq,$item) if($item ne $prev); |
73 |
|
|
$prev = $item; |
74 |
|
|
} |
75 |
|
|
return @uniq; |
76 |
|
|
} |
77 |
|
|
|
78 |
|
|
1; |
79 |
|
|
|
80 |
|
|
### end of util.pl ### |