0: # Bit quick-and-dirty test-code, but maybe helpful for someone
1: # Change a string to uppercase or lower case INCLUDING
2: # extended ASCII
3: # Usage: CaserSpec("String", 1/0) # Uppercase=1/Lowercase=0
4:
5: sub CaserSpec {
6: my %replace;
7: my $string = @_[0];
8: my %Lreplace = (
9: 'Á' => 'á',
10: 'À' => 'à',
11: 'Ç' => 'ç',
12: 'É' => 'é',
13: 'È' => 'è',
14: 'Ë' => 'ë',
15: 'Í' => 'í',
16: 'Ì' => 'ì',
17: 'Ï' => 'ï',
18: 'Ñ' => 'ñ',
19: 'Ó' => 'ó',
20: 'Ò' => 'ò',
21: 'Ö' => 'ö',
22: 'Ú' => 'ú',
23: 'Ù' => 'ù',
24: 'Ü' => 'ü');
25: my %Ureplace = (
26: 'á' => 'Á',
27: 'à' => 'À',
28: 'ç' => 'Ç',
29: 'é' => 'É',
30: 'è' => 'È',
31: 'ë' => 'Ë',
32: 'í' => 'Í',
33: 'ì' => 'Ì',
34: 'ï' => 'Ï',
35: 'ñ' => 'Ñ',
36: 'ó' => 'Ó',
37: 'ò' => 'Ò',
38: 'ö' => 'Ö',
39: 'ú' => 'Ú',
40: 'ù' => 'Ù',
41: 'ü' => 'Ü');
42:
43: if(!@_[1]){
44: $string = join('',map {$_ = $Lreplace{$_}||lc($_)} split(//,$string));
45: } else {
46: $string = join('',map {$_ = $Ureplace{$_}||uc($_)} split(//,$string));
47: }
48: return $string;
49: }
In reply to uc/lc with extended ASCII by Vennis
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |