~ubuntu-branches/ubuntu/oneiric/filters/oneiric

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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
#!/usr/bin/perl -p
# B1FF filter.
# Copyright 1999 by Joey Hess under the terms of the GNU GPL.

# I use an array, not a hash. because order is important.
@trans_table=(
	'\bEVERYONE\b' => 'EVRY 1',
	'\bEVERYBODY\b' => 'EVRY BUDY',
	'\bEVERY\b' => 'EVRY',
	'\bONE\b' => '1',
	'\bAND\b' => '+',
	'\bYOU' => 'U',
	'\bITS\b' => 'IT"S',
	'\bIT\'S\b' => 'ITS',
	'\bIS\b' => 'IZ',
	'\bLINUX\b' => 'LINUS',
	'\bUNIX\b' => 'THE MANEFRA1M O/S',
	'\bWINDOWS\b' => 'WINDOWZ (IT RULEZ MAN!)',
	'\bYOU\'RE\b' => 'YOUR',
	'\bTHEM\b' => 'THUM',
	'\bHERE\b' => 'HERE',
	'\bTHEY\'RE\b' => 'THE1R',
	'\bTHEIR\b' => 'THERE',
	'\bWAS\b' => 'WUZ',
	'\bMACINTOSH\b' => 'IMAC', # too 90's?
	'\bVERY\b' => 'TOTALLY',
	'\bCOMPUTER\b' => 'VIC-20',
	'\bWHETHER\b' => 'WHETHUR',
	'\b(?:H|CR)ACKER\b' => 'KEWL HACKER D00D!',
	'\bOF\b' => 'UV',
	'\bGNU\b' => 'NEW',
	'\bQUITE\b' => 'REAL',
	'\bFREE\b' => 'FREE!',

	'HOME' => 'HUM',
	'COME' => 'CUM',
	'MICRO' => 'MIKRO',
	'GOVERN' => 'GUVERN',
	'PERSON' => 'D00D',
	'SOME' => 'SUM',
	'WRITE' => 'RITE',
	'REAL' => 'REEL',
	'LITE' => 'L1TE',
	'BIAN' => 'B1AN',
	'TION' => 'SHUN',
	'FOR' => '4',
	'TO' => '2',
	'ATE' => '8',
	'\b2TALLY\b' => 'TOTALY', # fix from line above
	'LL' => 'L',
	'OO' => '00',
	'MATE' => 'M8',
	'ER' => 'UR',
	'S+\b' => 'Z',
	'KN' => 'N',
	'IE' => 'EI',
);

$_=uc;
s/;/,/g;
s/'//g;

while (@trans_table) {
	$key=shift @trans_table;
	$value=shift @trans_table;
	s/$key/$value/g;
}

s/(\!+)/$1.make_exclimation()/eg;
s/(\?+)/$1.make_question()/eg;
s/I/rand 3 > 2 ? '1' : 'I'/eg; # change 1/3 of I's to 1's

@punct=('.','!',',');

s/\.  /. /g;
s/\./$punct[int(rand 3)]/eg;
s/\,/./g;


# b1ff can't hold down on shift too well!!!!!!!1!
sub make_exclimation {
	my $length=shift || int(rand 5);
	my $ret='!';
	my $last=0;
	for (1..$length) {
		if (! $last && int(rand 3) eq 2) {
			$ret.="1";
			$last=1;
		}
		else {
			$ret.="!";
			$last=0;
		}
	}
	return $ret;
}

# ask questions excitedly?!?!?!?!
sub make_question {
	my $length=shift || int(rand 5) + 1;
	my $ret='';
	my $last=0;
	while (length($ret) < $length) {
		if (! $last && int(rand 5) > 2) {
			$ret.="?!";
			$last=1;
		}
		elsif (! $last && int(rand 5) > 3) {
			$ret.="?1";
			$last=1;
		}
		else {
			$ret.="?";
			$last=0;
		}
	}
	return $ret;
}