#!/usr/local/bin/perl -w # c00l.pl (C) 2000 Stuart Caie # distributed under the terms of the GNU General Public License v2 or later use strict; my @wordtrans = ( 'LATER', 'L8R', 'ONLY ELITE ', 'ELITE ONLY ', ' GOOD', ' COOL', 'WONDERFUL ', 'ELITE ', 'BEAUTIFUL ', 'COOL ', ' BAD ', ' LAME ', 'NOT COOL ', 'LAME ', ' FULL\-', ' PURE\-', 'STUPID', 'LAME', 'IDIOT', 'LAMER', 'STUPID ', 'LOSER ', 'LOSER', 'LUZER', 'SOFTWARE ', 'WAREZ ', 'SOFTWARES ', 'WAREZ ', 'NEW WARE', '0\-DAYZ WARE', ' FRIEND', ' MATE', ' BOY ', ' DUDE ', ' BOYS ', ' DUDES ', ' BOYS ', ' GUYZ ', ' MEN ', ' DUDES ', ' MEN ', ' GUYZ ', 'PEOPLE ', 'GUYZ ', 'HELLO ', 'HIYA ', ' HI ', ' YO ', ' YES ', ' YEP ', ' YES ', ' YEAH ', ' YES,', ' YEAH,', ' YES\!', ' YEAH\!', 'COME ON', 'C\'MON', 'OF COURSE', 'OF COZ', 'CKS ', 'X ', 'DOLLAR', 'BUCK', 'GREETINGS', 'GREETS', 'N\'T ', 'NT ', 'IS NOT ', 'ISNT ', 'ARE NOT ', 'ARENT ', 'WERE NOT ', 'WERENT ', 'WAS NOT ', 'WASN\'T ', 'PENFRIEND', 'CONTACT', 'PEN-FRIEND', 'CONTACT', 'IS THE BEST', 'RULEZ', 'ARE THE BEST', 'RULE', 'BE THE BEST', 'RULE', 'ISNT COOL', 'SUX', 'ARENT COOL', 'SUCK', 'WASNT COOL', 'SUCKED', 'WERENT COOL', 'SUCKED', 'MESSAGES', 'MSGS', 'MESSAGE', 'MSG', ' BOSS', ' LEADER', ' FIRED', ' KICKED', 'EXPELL', 'KICK', 'FLOPPY DISK', 'FLOPPY', 'HARD DISK ', 'HD ', 'HARD DISKS', 'HD\'s', 'ENTER THE GROUP', 'JOIN', 'ENTERED THE GROUP', 'JOINED', 'LAME WAREZ ', 'CRAP ', 'DEMONSTRATION', 'DEMO', 'INTRODUCTION', 'INTRO', 'TRANSPARENT VECT', 'GLENZ VECT', 'SOLID VECT', 'FILLED VECT', 'DELUXE PAINT', 'DPAINT', 'DELUXEPAINT', 'DPAINT', 'SOUNDTRACKER', 'ST', 'PROTRACKER', 'PT', 'MUSICIAN', 'MUZAK\-MAN', 'MUSIC', 'MUZAK', 'GRAPHICS', 'GFX', 'GRAPHICIAN', 'GFX\-MAN', 'PROGRAMMER', 'CODER', 'PROGRAMMING', 'CODING', 'EFFECTS', 'FX', 'EFFECT', 'FX', ' THE ', ' DA ', ' ARE ', ' R ', ' YOU ', ' U ', 'SEE ', 'C ', ' BE ', ' B ', ' AND ', ' & ', ' TO ', ' 2 ', 'LAT', 'L8', 'NAT', 'N8', 'MAT', 'M8', 'AIT', '8', 'FOR', '4', 'AS ', 'AZ ', 'ES ', 'EZ ', 'IS ', 'IZ ', ' IZ ', ' IS ', 'RS ', 'RZ ' ); my %chartrans = ( 'A' => [qw( A a 4 /-\ @ /\ æ Æ á à â ã ä Á À Â Ã Ä )], 'B' => [qw( B b |3 ß )], 'C' => [qw( C c \( { ç Ç © ¢ )], 'D' => [qw( D d |\) c| Ð )], 'E' => [qw( E e 3 é è ê ë É È Ê Ë )], 'F' => [qw( F f |^ |~ /= )], 'G' => [qw( G g 6 )], 'H' => [qw( H h |-| )], 'I' => [qw( I i 1 | ! ][ í ì î i ï Í Í Î Ï )], 'J' => [qw( J j _/ )], 'K' => [qw( K k |< )], 'L' => [qw( L l | |_ £ )], 'M' => [qw( M m /X\ /Y\ )], 'N' => [qw( N n |\| /\/ )], 'O' => [qw( O o 0 oO ø Ø ° ó ò ô õ ö Ó Ò Ô Õ Ö )], 'P' => [qw( P p |³ ¶ )], 'Q' => [qw( Q q )], 'R' => [qw( R r |' ® )], 'S' => [qw( S s z $ 5 § )], 'T' => [qw( T t + 7 )], 'U' => [qw( U u (_) |_| ú ù û u ü Ú Ù Û Ü )], 'V' => [qw( V v \/ )], 'W' => [qw( W w \x/ )], 'X' => [qw( X x >< × )], 'Y' => [qw( Y y `/ ¥ ý ÿ Ý )], 'Z' => [qw( Z z zZ Zzz zz )] ); # fairly random srand(time ^ $<); while (<>) { # make line uppercase with space on end of line chomp; my $line = "\U$_\E \n"; # make the text cool foreach ($[ .. (($#wordtrans+1)/2 - 1)) { $line =~ s/$wordtrans[$_*2]/$wordtrans[$_*2+1]/; } # make the characters cool my $result = ''; foreach (split '', $line) { if (exists($chartrans{$_})) { my @choices = @{$chartrans{$_}}; $result .= $choices[int rand $#choices]; } else { $result .= $_; } } print $result; }