aboutsummaryrefslogtreecommitdiff
path: root/emojitrans2.pl
blob: a4676b631feb53850c71f516451327b4ccaee316 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/usr/bin/perl -p 
BEGIN { binmode(STDOUT":utf8");
binmode(STDIN":utf8");
 
%specials = ('%' => 'percent',
     '-' => 'minus',
     '>' => 'greater',
     '<' => 'less',
     ',' => 'comma',
     '.' => 'period',
     '$' => 'dollar',
     '!' => 'exclam',
     '?' => 'question',
     '+' => 'plus',
     '/' => 'slash',
     '#' => 'numbersign',
     '@' => 'at',
);
 
sub splitup {
    my $arg=shift;
    local $_;
    my @out;
    my $rv;
    return "\{$arg\}" if length($arg) > 7;
    @out=split //$arg;
    $rv="";
    for (@out) {
$_ = $specials{$_// $_;
$rv .= " <$_>";
    }
    return $rv;
}
 
}
 
unless (/^#/) {
    my $hold=$_;
    s/<MM>/<Multi_key> <Multi_key>/;
    s({([][[:alnum:] _+%@><,.^\$+#()!/-]+)})(splitup($1))e;
   if (length($1) > 7) {
       $_=$hold;
       s/^<MM>/### <MM>/;
   }
}