]>
Commit | Line | Data |
---|---|---|
7e3afbba | 1 | #!/usr/bin/perl -p |
2 | # B1FF filter. | |
3 | # Copyright 1999 by Joey Hess under the terms of the GNU GPL. | |
4 | ||
5 | # I use an array, not a hash. because order is important. | |
6 | @trans_table=( | |
7 | '\bEVERYONE\b' => 'EVRY 1', | |
8 | '\bEVERYBODY\b' => 'EVRY BUDY', | |
9 | '\bEVERY\b' => 'EVRY', | |
10 | '\bONE\b' => '1', | |
11 | '\bAND\b' => '+', | |
12 | '\bYOU' => 'U', | |
13 | '\bITS\b' => 'IT"S', | |
14 | '\bIT\'S\b' => 'ITS', | |
15 | '\bIS\b' => 'IZ', | |
16 | '\bLINUX\b' => 'LINUS', | |
17 | '\bUNIX\b' => 'THE MANEFRA1M O/S', | |
18 | '\bWINDOWS\b' => 'WINDOWZ (IT RULEZ MAN!)', | |
19 | '\bYOU\'RE\b' => 'YOUR', | |
20 | '\bTHEM\b' => 'THUM', | |
21 | '\bHERE\b' => 'HERE', | |
22 | '\bTHEY\'RE\b' => 'THE1R', | |
23 | '\bTHEIR\b' => 'THERE', | |
24 | '\bWAS\b' => 'WUZ', | |
25 | '\bMACINTOSH\b' => 'IMAC', # too 90's? | |
26 | '\bVERY\b' => 'TOTALLY', | |
27 | '\bCOMPUTER\b' => 'VIC-20', | |
28 | '\bWHETHER\b' => 'WHETHUR', | |
29 | '\b(?:H|CR)ACKER\b' => 'KEWL HACKER D00D!', | |
30 | '\bOF\b' => 'UV', | |
31 | '\bGNU\b' => 'NEW', | |
32 | '\bQUITE\b' => 'REAL', | |
33 | '\bFREE\b' => 'FREE!', | |
34 | ||
35 | 'HOME' => 'HUM', | |
36 | 'COME' => 'CUM', | |
37 | 'MICRO' => 'MIKRO', | |
38 | 'GOVERN' => 'GUVERN', | |
39 | 'PERSON' => 'D00D', | |
40 | 'SOME' => 'SUM', | |
41 | 'WRITE' => 'RITE', | |
42 | 'REAL' => 'REEL', | |
43 | 'LITE' => 'L1TE', | |
44 | 'BIAN' => 'B1AN', | |
45 | 'TION' => 'SHUN', | |
46 | 'FOR' => '4', | |
47 | 'TO' => '2', | |
48 | 'ATE' => '8', | |
49 | '\b2TALLY\b' => 'TOTALY', # fix from line above | |
50 | 'LL' => 'L', | |
51 | 'OO' => '00', | |
52 | 'MATE' => 'M8', | |
53 | 'ER' => 'UR', | |
54 | 'S+\b' => 'Z', | |
55 | 'KN' => 'N', | |
e99ec255 | 56 | 'IE' => 'EI', |
7e3afbba | 57 | ); |
58 | ||
59 | $_=uc; | |
60 | s/;/,/g; | |
61 | s/'//g; | |
62 | ||
63 | while (@trans_table) { | |
64 | $key=shift @trans_table; | |
65 | $value=shift @trans_table; | |
66 | s/$key/$value/g; | |
67 | } | |
68 | ||
69 | s/(\!+)/$1.make_exclimation()/eg; | |
70 | s/(\?+)/$1.make_question()/eg; | |
71 | s/I/rand 3 > 2 ? '1' : 'I'/eg; # change 1/3 of I's to 1's | |
72 | ||
73 | @punct=('.','!',','); | |
74 | ||
75 | s/\. /. /g; | |
76 | s/\./$punct[int(rand 3)]/eg; | |
77 | s/\,/./g; | |
78 | ||
79 | ||
80 | # b1ff can't hold down on shift too well!!!!!!!1! | |
81 | sub make_exclimation { | |
82 | my $length=shift || int(rand 5); | |
83 | my $ret='!'; | |
84 | my $last=0; | |
85 | for (1..$length) { | |
86 | if (! $last && int(rand 3) eq 2) { | |
87 | $ret.="1"; | |
88 | $last=1; | |
89 | } | |
90 | else { | |
91 | $ret.="!"; | |
92 | $last=0; | |
93 | } | |
94 | } | |
95 | return $ret; | |
96 | } | |
97 | ||
98 | # ask questions excitedly?!?!?!?! | |
99 | sub make_question { | |
100 | my $length=shift || int(rand 5) + 1; | |
101 | my $ret=''; | |
102 | my $last=0; | |
103 | while (length($ret) < $length) { | |
104 | if (! $last && int(rand 5) > 2) { | |
105 | $ret.="?!"; | |
106 | $last=1; | |
107 | } | |
108 | elsif (! $last && int(rand 5) > 3) { | |
109 | $ret.="?1"; | |
110 | $last=1; | |
111 | } | |
112 | else { | |
113 | $ret.="?"; | |
114 | $last=0; | |
115 | } | |
116 | } | |
117 | return $ret; | |
118 | } |