]>
Commit | Line | Data |
---|---|---|
ff4fe56a | 1 | #!/usr/bin/perl -w |
2 | # Fake scottish (dwarven) accent filter, by Adam Borowski, inspired by the | |
3 | # character "Durkon" from Order of the Stick by Rich Burlew. GPL, 2007. | |
4 | use strict; | |
5 | ||
6 | my @repl=qw( | |
7 | ^yes$:aye there:thar eir$:ar | |
8 | about:aboot ^he$:'e them:'em | |
9 | ^him:'im out_of$:outta of_course:'course | |
10 | ^of$:o' ^and$:an' to$:ta | |
11 | tog:tag that:tha the:tha | |
12 | wouldn't:wouldn'ta cannot:cannae can't:cannae | |
13 | don't:dinnae 're$:r for$:fer | |
14 | ver$:'er ber$:b'r every$:ev'ry | |
15 | en$:'n ^if$:if'n enl:'nl | |
16 | eng:'ng ing:in' ment:mn't | |
17 | ^es:'s ^ex:'s ^not$:na | |
18 | ^no$:nay n't_have:n'tve ^is$:be | |
19 | ^are$:be have:haf abl:'bl | |
20 | ^you$:ye ^your:yer ^you':ye' | |
21 | noth:nuth ^this$:'tis ^here:'ere | |
22 | doesn't:don't at_a$:atta ith$:it' | |
23 | ered$:'red into$:inta ^before:'fore | |
24 | wit'_':wit_' wit'_t:wit_t wit'_w:wit_w | |
5b8fbf0b | 25 | wit'_y:wit_y get_a:git_a ally$:'lly |
ff4fe56a | 26 | ^my:me ^i_think$:methinks nay_w:na_w |
27 | ^one$:'un ^'un_a:one_a at_ta$:atta | |
28 | ot_ta$:otta ^isn't$:ain't ^so_th:s'th | |
29 | ned$:n'd ^because:'cause | |
30 | ), my @r; | |
31 | ||
32 | sub firstu($) { | |
33 | $_[0]=~s/^([^a-z]*)([a-z])/$1\u$2/; | |
34 | return $_[0]; | |
35 | } | |
36 | ||
37 | for(@repl) { | |
38 | s/_/ /g; | |
39 | my ($l,$r)=split(/:/,$_); | |
40 | for([$l,$r], [firstu $l, firstu $r], ["\U$l","\U$r"]) { | |
41 | ($l,$r)=@$_; | |
42 | $l=~s/^\^/\\b/; | |
43 | $l=~s/\$$/\\b/; | |
44 | push @r, [qr/$l/, $r]; | |
45 | } | |
46 | } | |
47 | ||
48 | while(my $txt=<>) { | |
49 | $txt=~s/$$_[0]/$$_[1]/g for @r; | |
50 | print $txt; | |
51 | } |