Also close bug
[filters.git] / b1ff
CommitLineData
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;
60s/;/,/g;
61s/'//g;
62
63while (@trans_table) {
64 $key=shift @trans_table;
65 $value=shift @trans_table;
66 s/$key/$value/g;
67}
68
69s/(\!+)/$1.make_exclimation()/eg;
70s/(\?+)/$1.make_question()/eg;
71s/I/rand 3 > 2 ? '1' : 'I'/eg; # change 1/3 of I's to 1's
72
73@punct=('.','!',',');
74
75s/\. /. /g;
76s/\./$punct[int(rand 3)]/eg;
77s/\,/./g;
78
79
80# b1ff can't hold down on shift too well!!!!!!!1!
81sub 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?!?!?!?!
99sub 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}
This page took 0.015714 seconds and 4 git commands to generate.