Interlinear Post Mortem Back to Perl Golf

Accepted | Artistic/Unorthodox | Rejected

Referee comments are in italics. Blue rows denote golfer's best solution. Red text denotes special characters.

Accepted

ScoreGolferSubmit TimeCode
150.22 Ton Hospel Fri Jun 7 21:03:54 2002
-ap056 @Q=map{lc^lc^lc=~y/aeiouy//.-map/\w/g,$_^=v0 x3}lc,@F;$_="@F"&"\x7f"x60;s/[^.]{3}$/^I^I^I/;s/.+/$#Q $_
@Q[0..split]
/;y!\0^I-! ./!;s/ +(.*\S) */:^I$1/g
oops, random space in the previous one
150.22 BoB (Best of Breed - referees) Thu Jun 6 15:43:34 2002
-ap056 @Q=map$_^($_^=v0 x3)^lc=~y/aeiouy//.v47.s/\w/$&/g,$_,@F;$_="@F"&"\x7f"x60;s/[^.]{3}$/^I^I^I/;s!.+!$#Q $&
@Q[0..split]
!;y/\0^I/ ./;s/ +(.*\S) */:^I$1/g
Taking Eugene's little v47 trick and applying it to Ton's insanity to beat Ton by .01. I wonder how long this will last?
150.23 Ton Hospel Thu Jun 6 12:27:38 2002
-ap056 @Q=map$_^($_^=v0 x3)^lc=~y/aeiouy//."/".s/\w/$&/g,$_,@F;$_="@F"&"\x7f"x60;s/[^.]{3}$/^I^I^I/;s!.+!$#Q $&
@Q[0..split]
!;y/\0^I/ ./;s/ +(.*\S) */:^I$1/g
150.23 Ton Hospel Fri Jun 7 19:58:30 2002
-ap056 @Q=map{lc^lc^lc=~y/aeiouy//.-map/\w/g,$_^=v0 x3}$_,@F;$_="@F"&"\x7f"x60;s/[^.]{3}$/^I^I^I/;s/.+/$#Q $_
@Q[0..split]
/;y!\0^I-! ./!;s/ +(.*\S) */:^I$1/g
It fails the testprogram, but that's a problem with the testprogram. - is not a valid input char according to the rules
151.22 Ton Hospel Fri Jun 7 21:02:25 2002
-ap056  @Q=map{lc^lc^lc=~y/aeiouy//.-map/\w/g,$_^=v0 x3}lc,@F;$_="@F"&"\x7f"x60;s/[^.]{3}$/^I^I^I/;s/.+/$#Q $_
@Q[0..split]
/;y!\0^I-! ./!;s/ +(.*\S) */:^I$1/g
Finally ! The tiebreaker !
151.23 Eugene van der Pijll Thu Jun 6 22:30:43 2002
-ap056 sub t{lc=~y/aeiouy//.v47.s//$&/g}$_=/\w/&&(@z=map$_^t^($_^=t^t),@F).":^I@F
${\t}:^I@z
";y/\0/ /;s/ +$//m;s/(^I.{57})...+(.
.*^I.{0,56}\S+).*/$1..$2/
What??? Larry is junking the empty regex in Perl 6? How awful. Now if anyone can tell me how to enter a submission with a literal \0 character, I would be sooo happy.
151.27 Ton Hospel Fri Jun 7 23:51:33 2002
-ap056 @Q=map lc=~y/aeiouy//."/".s/\w/$&/g^($_^=$:)^$_,$_,@F,@F;s/[^.]{3}$/^I^I^I/,$#Q=split,$_=@F." $_
@Q
"if$_="@F"&"\x7f"x60;y/\0^I/ ./;s/ +(.*\S) */:^I$1/g
Not a very good solution, but fun use of side-effects. I had some hope for this method, but never could make it short
152.23 Eugene van der Pijll Thu Jun 6 21:53:20 2002
-ap056 sub t{lc=~y/aeiouy//.v47.s/\w/$&/g}$_=/./&&(@z=map$_^t^($_^=t^t),@F).":^I@F
${\t}:^I@z
";y/\0/ /;s/ +$//m;s/(^I.{57})...+(.
.*^I.{0,56}\S+).*/$1..$2/
Two strokes to go... but which two strokes?
153.22 Eugene van der Pijll Thu Jun 6 18:19:14 2002
-ap056 sub t{lc=~y/aeiouy//.v47.s/\w/$&/g}$_=/./&&(@z=map$_^t^($_^=t^t),@F).":^I@F
".t.":^I@z
";y/\0/ /;s/ +$//m;s/(^I.{57}).{4,}(
.*^I.{0,56}\S+).*/$1...$2/
Let's go back to a previous solution, with .{0,56}\S+ .
153.23 Ton Hospel Thu Jun 6 03:11:40 2002
-ap056 @Q=map$_^($_^=v0 x3)^lc=~y/aeiouy//."/".s/\w/$&/g,$_,@F;$_="@F"&"\x7f"x60;s/[^.]{3}$/.../;s!.+!$#Q $&
@Q[0..s/[ .]+//g]
!;y/\0/ /;s/ +(.*\S).*/:^I$1/g
less funky, but better tiebreaker
153.25 Ton Hospel Wed Jun 5 23:07:15 2002
-ap056 @Q=map$_^($_^=$:^$:)^lc=~y/aeiouy//."/".s/\w/$&/g,$_,@F;$_="@F"&"\x7f"x60;s/[^.]{3}$/.../;s!.+!$#Q $&
@Q[0..s/[ .]+//g]
!;y/\0/ /;s/ +(.*\S).*/:^I$1/g
You should know the drill by now. this is really a 152
154.22 Ton Hospel Wed Jun 5 22:23:06 2002
-ap056 @Q=map$_^($_^=$:^$:)^lc=~y/aeiouy//."/".s/\w/$&/g,$_,@F;$_="@F"&"\x7f"x60;s/[^.]{3}$/.../;s!.+!$#Q $&
@Q[0..s/[ .]+//g]
!;s/\0/ /g;s/ +(.*\S).*/:^I$1/g
replace that \0 by binary 0. PGAS doesn't let me submit it (it also has the dreaded \xff)
154.23 Eugene van der Pijll Thu Jun 6 17:56:04 2002
-ap056 sub t{lc=~y/aeiouy//.v47.s/\w/$&/g}$_=/./&&(@z=map$_^t^($_^=t^t),@F).":^I@F
".t.":^I@z
";y/\0/ /;s/(^I.{57})...+\S.*(
.*^I.{56,}?) .*/$1...$2/;s/ +$//m
Only 4 strokes to go...
155.24 Ton Hospel Wed Jun 5 10:57:34 2002
-ap056 @Q=map$"x$+[!s/$/$"x(3-pos)/e]|lc=~y/aeiouy//."/".s/\w/$&/g,$_,@F;$_="@F"&"\x7f"x60;s/[^.]{3}$/.../;s!.+!$#Q $&
@Q[0..s/[ .]+//g]
!;s/ +(.*\S).*/:^I$1/g
156.22 Eugene van der Pijll Thu Jun 6 17:03:09 2002
-ap056 sub t{lc=~y/aeiouy//.v47.s/\w/$&/g}$_=/./&&(@z=map$_^t^($_^=t^t),@F).":^I@F
".t.":^I@z
";y/\0/ /;s/(^I.{57}).{3,}\S.*(
.*^I.{56,}?\s).*/$1...$2/;s/ +$//m
156.24 Ton Hospel Tue Jun 4 19:18:44 2002
-ap056 @Q=map$"x$+[!s/$/$"x(3-pos)/e]|lc=~y/aeiouy//."/".s/\w/$&/g,$_,@F;$_="@F";s/(.{57})...+\S/$1.../;$_&&=@F." $_
@Q[0..s/[ .]+//g]
";s/ +(.*\S).*/:^I$1/g
159.25 Ton Hospel Tue Jun 4 17:15:30 2002
-ap056 @Q=map$"x$+[!s/$/$"x(3-pos)/e]|lc=~y/aeiouy//."/".s/\w/$&/g,$_,@F;$_="@F"&"\x7f"x$=;s/[^.]{3}$/.../;($_=@F." $_
@Q[0..s/[ .]+//g]
")x=!!s/ +(.*\S).*/:^I$1/g
160.22 Eugene van der Pijll Wed Jun 5 16:45:19 2002
-ap056 sub t{lc=~y/aeiouy//.v47.s/\w/$&/g}$_=/./&&(@z=map$_^t^($_^=t^t),@F).":^I@F
".t.":^I@z
";y/\0/ /;s/ +$//m;s/(^.*^I.{57}).{4,}/$1.../&&s#(^I.{0,56}\S+).*$#$1#
A few small improvements. v47 scores 0.01 lower than "/".
160.26 Ton Hospel Tue Jun 4 17:05:30 2002
-ap056 @Q=map$"x$+[!s/$/$"x(3-pos)/e]|lc=~y/aeiouy//."/".s/\w/$&/g,$_,@F;$_="@F"&"\x7f"x$=;s/[^.]{3}$/.../;$#Q=()=/[ .]+/g;($_=@F." $_
@Q
")x=!!s/ +(.*\S).*/:^I$1/g
notice that the char between "" in ""x$= is ASCII code 255 This solution also needs 5.6.1
160.35 Marko Nippula Thu Jun 6 18:37:50 2002
-ap056 @f=map{$_|=$:^$:;$"x+y|| ^A-z|c|y|youYOUaiIEeA||.'/'.s|\w|$&|g}$_,@F;s,(.{57})..+\w.*,$1...,,$#f=@R=/\w\S*/g,$_=@F." $_
@f
"if$_="@F";s; +(.*?) *$;:^I$1;mg
161.24 Rick Klement Fri Jun 7 00:03:39 2002
-056ap @c=map{s!$!$"x(3-/\./-pos)!e;$"x$-[0]|lc=~y/aeiouy//.'/'.s/\w/$&/g}$_,@F;$_="@F";s/(.{57}).{4,}/$1.../;s!.+!$#c:^I$&
@c[0..s/[ .]+//g]
!;s/ +(.*?) *$/:^I$1/
162.22 Eugene van der Pijll Sun Jun 2 00:05:08 2002
-ap056 sub t{lc=~y/aeiouy//."/".s/\w/$&/g}$_=/./&&(@z=map$_^t^($_^=t^t),@F).":^I@F
".t.":^I@z
";y/\0/ /;s/ +$//mg;s/(^.*^I.{57}).{4,}/$1.../&&s#(^I.{0,56}\S+).*\Z#$1#
The xor'ings can be ordered in so many different ways... I've finally lost the my@z now. Again, the y/\0/ / should contain a literal \0.
162.25 Rick Klement Thu Jun 6 00:31:34 2002
-056ap @c=map{s!$!$"x(3-/\./-pos)!e;$"x$-[0]|lc=~y/aeiouy//.'/'.s/\w/$&/g}$_,@F;$_="@F";s/(.{57}).{4,}/$1.../;$_&&=@F.":^I$_
@c[0..s/[ .]+//g]
";s/ +(.*?) *$/:^I$1/
162.29 Lolly Pop Fri Jun 7 21:00:19 2002
-ap056 @q=map{s/$/ /until/\.|...$/g;$"x++pos|($Q=lc=~y/aeiouy//."/".y/0-9A-z//)}@F,$_;s/(.{57}).{4,}/$1.../,$_=@F.":^I$_
$Q:^I@q[0..s/ [^ .]//g]
",s/ +$// if$_="@F"
clock is ticking!
164.24 seano Fri Jun 7 00:10:02 2002
-ap056 $_=lc,$_=y/aeiouy//.'/'.s/\w//gfor$g=$_="@F",@F;$_&&=1+s/\S+ /$"^$"x4|$&/eg.(s/(.{57}).{4,}/$1.../,":^I$_
$g:^I").(s/[^ .]+ */shift@F|$"x18&$&/eg,/\D*$/,"$`
")
uno mas
164.26 Ton Hospel Tue Jun 4 00:42:23 2002
-ap056 @Q=map$"x($z=y///c*s//$"x(3-$z)/e)|lc=~y/aeiouy//."/".s/\w/$&/g,$_.$",@F;$_="@F
";s/(.{57}).{4,}/$1.../;/\S+ *\./;$_="@Q"=~/ +(.{@{-}}\S+)/&&@F.":^I$_$`:^I$1
"
164.26 Ton Hospel Tue Jun 4 14:45:41 2002
-ap056 @Q=map$"x($z=y///c*s//$"x(3-$z)/e)|lc=~y/aeiouy//."/".s/\w/$&/g,$_.$:,@F;$_=":^I@F
";s/(.{59}).{4,}/$1.../;$#Q=()=/[ .]+/g;$_="@Q"=~/ +(.*\S)/&&@F."$_$`:^I$1
"
164.28 Ton Hospel Tue Jun 4 03:00:16 2002
-ap056 @Q=map$"x$+[!s/$/$"x(3-pos)/e]|lc=~y/aeiouy//."/".s/\w/$&/g,$_,@F;$_="@F"&"\x7f"x$=;s/[^.]{3}$/.../;/\S+ *\.+/;$_="$`$&
@Q"=~/ +(.{@{-}}\S+).*$/&&@F.":^I$`:^I$1
"
165.23 seano Thu Jun 6 23:40:03 2002
-ap056 $_=lc,$_=y/aeiouy//.'/'.s/\w//gfor$g=$_="@F",@F;$x=1+s/\S+ /$"^$"x4|$&/eg.(s/(.{57}).{4,}/$1.../,":^I$_
$g:^I");s/[^ .]+ */shift@F|$"x18&$&/eg,s/(.*\d).*/$x$1
/
Hey, only 15 more chars to go...
165.26 Ton Hospel Mon Jun 3 01:56:52 2002
-ap056 sub f{lc=~y/aeiouy//."/".s/\w/$&/g}@Q=map$"x(($.=y///c*s//$"x-$./e-3)+3)|f,@F;$_=":^I@F
".f;s/(.{59}).{4,}/$1.../;/\S+ *\./;$_="@Q"=~/.{@{-}}\S+/&&@F."$_:^I$&
"
166.22 seano Thu Jun 6 06:37:01 2002
-ap056 $_=lc,$_=y/aeiouy//.'/'.s/\w//gfor$g=$_="@F",@F;$n=1+s/\S+ /$&|"\0   "/eg;s/(.{57}).{4,}/$1.../;$x=$_;s/[^ .]+ */shift@F|$"x18&$&/eg;s/(.*\d).*/$n:^I$x
$g:^I$1
/
There's no way this should work, but it does. Random mutation rules!
166.26 Ton Hospel Sun Jun 2 23:00:39 2002
-ap056 sub f{lc=~y/aeiouy//."/".s/\w/$&/g}@Q=map$"x(($.=y///c*s//$"x-$./e-3)+3)|f,@F;$_=":^I@F
".f;s/(.{59}).{4,}/$1.../;/\S+ *\./;$_="@Q"=~/.{$-[0]}\S+/&&@F."$_:^I$&
"
166.37 Marko Nippula Wed Jun 5 16:28:11 2002
-ap056 @G=map{$_|=$:^$:;' 'x y!! ^A-~!c|y?aeiouyAEIOUY??."/".s/\w/$&/g}$_,@F;$_="@F";s/(.{57})...+\S.*/$1.../;$#G=@x=/[^ .]+/g;$_=@F." $_\xa3@G\xa3"if@F;s/ +(.*?) *\xa3/:^I$1
/g
167.26 Ton Hospel Sun Jun 2 22:49:41 2002
-ap056 sub f{lc=~y/aeiouy//."/".s/\w/$&/g}@Q=map$"x(s//$"x-$./e*($.=y/ //c-3)+3)|f,@F;$_=":^I@F
".f;s/(.{59}).{4,}/$1.../;/\S+ *\./;$_="@Q"=~/.{$-[0]}\S+/&&@F."$_:^I$&
"
167.28 Lolly Pop Fri Jun 7 19:21:05 2002
-ap056 sub f{lc=~y/aeiouy//."/".y/0-9A-z//}$Q=f;@q=map{s/$/ /until/\.|...$/g;$"x++pos|f}@F;s/(.{57}).{4,}/$1.../,$_=@F.":^I$_
$Q:^I@q[0..s/ [^ .]//g]
",s/ +$// if$_="@F"
Can't seem to make much progress with the "do$0" approach.
168.25 Rick Klement Wed Jun 5 13:02:12 2002
-056ap sub c{lc=~y/aeiouy//.'/'.s/\w/$&/g}@c=map$"x(s!$!$"x(3-/\./-pos)!e*y///c)|c,@F;$c=c;$_="@F";s/(.{57}).{4,}/$1.../;$_&&=@F.":^I$_
$c:^I@c[0..s/[ .]+//g-1]
";s/ +$//
168.26 Ton Hospel Sun Jun 2 22:33:16 2002
-ap056 sub f{lc=~y/aeiouy//."/".s/\w/$&/g}@Q=map{s//$"x-$./e;f|$"x(($.=y/ //c-3)+3)}@F;$_=":^I@F
".f;s/(.{59}).{4,}/$1.../;/\S+ *\./;$_="@Q"=~/.{$-[0]}\S+/&&@F."$_:^I$&
"
168.29 Lolly Pop Fri Jun 7 12:13:32 2002
-ap056 sub f{lc=~y/aeiouy//."/".y/A-z0-9//|$"x++pos}$Q=f;@q=map{s/$/ /until--pos>!/\./;f}@F;s/(.{57}).{4,}/$1.../,$_=@F.":^I$_
$Q:^I@q[0..s/ [^ .]//g]
",s/ +$// if$_="@F"
don't need $&- interesting
169.24 Ton Hospel Sun Jun 2 22:22:28 2002
-ap056 sub f{lc=~y/aeiouy//."/".s/\w/$&/g}@Q=map{$_=$"x-$..$_;f|$"x(($.=y/ //c-3)+3)}@F;$_=":^I@F
".f;s/(.{59}).{4,}/$1.../;/\S+ *\./;$_="@Q"=~/.{$-[0]}\S+/&&@F."$_:^I$&
"
170.22 seano Thu Jun 6 05:43:35 2002
-ap056 $_=lc,$_=y/aeiouy//.'/'.s/\w//gfor$g=$_="@F",@F;$n=1+s/\S+ /$&|"\0   "/eg;s/(.{57}).{4,}/$1.../;$x=$_;s/[^ .]+ */shift@F|$"x length$&/eg;s/(.*\d).*/$n:^I$x
$g:^I$1
/
Get rid of useless variables. This is becoming truly sick.
170.25 Ton Hospel Sat Jun 1 16:37:51 2002
-ap056 sub f{lc=~y/aeiouy//."/".s/\w/$&/g}@Q=map f.$"x($.=y///c*s//$"x-$./e-length&f),@F;$_="@F
".f;s/(.{57}).{4,}/$1.../;/\S+ *\./;$_="@Q"=~/.{$-[0]}\S+/&&@F.":^I$_:^I$&
"
170.29 Lolly Pop Fri Jun 7 04:08:28 2002
-ap056 sub f{lc=~y/aeiouy//."/".y/A-z0-9//}@q=map{s/$/ /until--pos>!/\./;f|$"x++pos}@F;$Q=f,s/(.{57}).{4,}/$1.../,$_=@F.":^I$_
$Q:^I@q[0..s/ [^ .]/$&/g]
",s/ +$// if$_="@F"
guess not!
171.23 Eugene van der Pijll Sat Jun 1 23:49:06 2002
-ap056 sub t{lc=~y/aeiouy//."/".s/\w/$&/g}my@z;$_=/./&&(map$_^=t^($z[@z]=t^t^$_),@F).":^I@z
".t.":^I@F
";y/\0/ /;s/ +$//mg;s/(^.*^I.{57}).{4,}/$1.../&&s#(^I.{0,56}\S+).*\Z#$1#
Yes! The \0 in the yansliteration should be a literal ctrl-@ character.
171.28 Lolly Pop Fri Jun 7 04:02:24 2002
-ap056 sub f{lc=~y/aeiouy//."/".y/A-z0-9//}@q=map{s/$/ /until/\./|--pos>1;f|$"x++pos}@F;$Q=f,s/(.{57}).{4,}/$1.../,$_=@F.":^I$_
$Q:^I@q[0..s/ [^ .]/$&/g]
",s/ +$// if$_="@F"
end of the line?
172.25 Stephen Turner Tue Jun 4 16:48:04 2002
-lpa056 sub b{lc=~y/aeiouy//.'/'.s/\w/$&/g}$m=b$_=sprintf'%-3s 'x@F,@F;s/ +$//?s/(.{57})...+/$1../:last;@0=map{A.y///c}/\S+ +(?!\.)/g;$_=@F.":^I$_.
$m:^I".pack"@0A*",map b,@F
172.25 Rick Klement Tue Jun 4 01:15:06 2002
-056ap sub c{lc=~y/aeiouy//.'/'.s/\w/$&/g}@c=map$"x(s!$!$"x(3-/\./-pos)!e*y///c)|c,@F;$c=c;$_="@F";pos=57;s/\G.{4,}//&&($#c=split)--^s/$/.../;$_&&=@F.":^I$_
$c:^I@c
";s/ +$//
172.30 Lolly Pop Fri Jun 7 18:34:34 2002
-ap056 if(//){@q=map{s/$/ /until/\.|...$/g;$"x++pos|do$0}@F,$_;s/(.{57}).{4,}/$1.../,$_=@F.":^I$_
$Q:^I@q[0..s/ [^ .]//g]
",s/ +$// if$_="@F"}$Q=lc=~y/aeiouy//."/".y/0-9A-z//
?: to if(){}
173.23 Rick Klement Mon Jun 3 17:13:29 2002
-056ap sub c{lc=~y/aeiouy//.'/'.s/\w//g}@c=map$"x y///c|c,map$_.=$"x(3-/\./-length),@F;$c=c;$_="@F";s/(.{57}).{4,}/$1/&&($#c=split)--^s/$/.../;$_&&=@F.":^I$_
$c:^I@c
";s/ +$//
173.25 Stephen Turner Mon Jun 3 19:13:00 2002
-lpa056 sub b{lc=~y/aeiouy//.'/'.s/\w/$&/g}$_=sprintf'%-3s 'x@F,@F;s/ +$//?$m=b:last;s/(.{57})...+/$1../;@0=map{A.y///c}/\S+ +(?!\.)/g;$_=@F.":^I$_.
$m:^I".pack"@0A*",map b,@F
173.28 Lolly Pop Fri Jun 7 03:42:52 2002
-ap056 sub f{lc=~y/aeiouy//."/".y/A-z0-9//|$"x++pos}@q=map{s/$/ /until--pos>1;f}@F;$Q=f,s/ $//,s/(.{57}).{4,}/$1.../,$_=@F.":^I$_
$Q:^I@q[0..s/ [^ .]/$&/g]
",s/ +$// if$_="@F"
rework the "$_=" part
174.18 Mtv Europe Fri Jun 7 20:02:21 2002
-ap056 sub B{lc=~y/aeiouy//.v47.(@Q=/\w/g)}$B=$Z=$C=v9;$C^=$C=($C!~/.{58}/|/\./&($Z|=$C.$_)!~s/(.{58}).{4,}/$1.../?$B|=$C.B:0).1^$Z.1for@F;$_=@F?@F.":$Z
".B.":$B
":$T;y/\0/ /
maybe last posting, improving tie a little
174.19 Mtv Europe Thu Jun 6 11:49:38 2002
-ap056 sub B{lc=~y/aeouiy//.v47.(@Q=/\w/g)}$B=$Z=$C=":^I";$C^=$C=($C!~/.{59}/|/\./&($Z|=$C.$_)!~s/(.{59}).{4,}/$1.../?$B|=$C.B:0).1^$Z.1for@F;$_=@F?@F."$Z
".B."$B
":$T;y/\0/ /
174.25 Stephen Turner Mon Jun 3 19:09:09 2002
-lpa056 sub b{lc=~y/aeiouy//.'/'.s/\w/$&/g}$_=sprintf'%-3s 'x@F,@F;s/ +$//||last;$m=b;s/(.{57})...+/$1../;@0=map{A.y///c}/\S+ +(?!\.)/g;$_=@F.":^I$_.
$m:^I".pack"@0A*",map b,@F
174.30 Lolly Pop Fri Jun 7 18:04:32 2002
-ap056 //?do{@q=map{s/$/ /until/\.|...$/g;$"x++pos|do$0}@F,$_;s/(.{57}).{4,}/$1.../,$_=@F.":^I$_
$Q:^I@q[0..s/ [^ .]//g]
",s/ +$// if$_="@F"}:($Q=lc=~y/aeiouy//."/".y/0-9A-z//)
third approach: build around do$0
175.24 Ton Hospel Sat Jun 1 15:24:09 2002
-ap056 sub f{lc=~y/aeiouy//."/".s/\w/$&/g}$f=f;@Q=map f.$"x($.=y///c*s//$"x-$./e-length&f),@F;$_="@F";s/(.{57}).{4,}/$1.../;/\S+ *\./;$_="@Q"=~/.{$-[0]}\S+/&&@F.":^I$_
$f:^I$&
"
175.25 Stephen Turner Mon Jun 3 14:06:08 2002
-lpa056 sub b{lc=~y/aeiouy//.'/'.s/\w/$&/g}$_=sprintf'%-3s 'x@F,@F;s/ +$//||last;$m=b;s/(.{57})...+/$1../;@t=map{A.y///c}/\S+ +(?!\.)/g;$_=@F.":^I$_.
$m:^I".pack"@t A*",map b,@F
175.27 Lolly Pop Fri Jun 7 01:47:53 2002
-ap056 sub f{lc=~y/aeiouy//."/".y/A-z0-9//}@q=map{s/$/ /until--pos>1;f|$"x++pos}@F;s/ $//,$V=f,s/(.{57}).{4,}/$1.../,$q[$#q=@p=/ [^ .]/g]=~s/ //g,$_=@F.":^I$_
$V:^I@q
"if$_="@F"
don't need the *-qualifier in s/ *$//
175.31 Martin Carlsen Fri Jun 7 22:58:33 2002
-056npa sub c{y/aeiouyAEIOUY//."/".y/a-zA-Z0-9//}$_=(@c=map{$_.=$"x($p=/\./?0:length(c)-length);c.$"x-$p}@F)?@F.":^I@F
".c.":^I@c
":"";s/(^I.{57}).{4,}(
.*^I.{0,56}\S+).*/$1...$2/
175.31 Martin Carlsen Fri Jun 7 22:58:34 2002
-056npa sub c{y/aeiouyAEIOUY//."/".y/a-zA-Z0-9//}$_=(@c=map{$_.=$"x($p=/\./?0:length(c)-length);c.$"x-$p}@F)?@F.":^I@F
".c.":^I@c
":"";s/(^I.{57}).{4,}(
.*^I.{0,56}\S+).*/$1...$2/
176.20 Mtv Europe Wed Jun 5 22:50:51 2002
-ap056 sub B{lc=~y/aeiouy//.v47.(@Q=/\w/g)}reset BZC;length$C<57|/\./&($Z|=$C.$_)!~s/(.{57}).{4,}/$1.../&&($B|=$C.B),$C^=$C=$B.1^$Z.1for@F;$_=@F?@F.":^I$Z
".B.":^I$B
":$T;y/\0/ /
Shock from Alexander's 177 helps me to recognize my mistake (cycling on that nice /^\0+(??{...... ), so i've got the idea. I draw this little sketch and i'll be back tomorrow.
176.21 Juho Snellman Fri Jun 7 20:42:25 2002
-p056 @d=map{$_|=$"x3&"$_  ";$"x
y...c|(@z=/[aeiouy]/ig).'/'.s/\w/$&/g}@w=/\S*\w\S*/g,$_;s/(.{57})...+\S/$1.../,$_=@w.":^I$_
$d[-1]:^I@d[0..s/ +[^.]//g]
"if$_="@w";s/ +(
|:)/$1/g
s/ +(?=$|:)//mg -> s/ +(\n|:)/$1/g
176.24 Ton Hospel Sat Jun 1 08:55:22 2002
-ap056 sub f{lc=~y/aeiouy//."/".s/\w/$&/g}$f=f;@Q=map f.$"x($.=y///c*s//$"x-$./e-length&f),@F;$_="@F";s/(.{57}).{4,}/$1.../;/\S+\s*\./;$_="@Q"=~/.{$-[0]}\S+/&&@F.":^I$_
$f:^I$&
"
176.25 Guillermo Sansovic Fri Jun 7 19:40:18 2002
-pa056 sub c{uc=~y/AEIOUY//.'/'.s/\w//g}$w=c;@s=map{sprintf"%-3s",$_}@F;$_="@s";s/(.{57})...+\S/$1.../;$_&&=(@c=map{pack"A".y///c,c}@s).":^I$_
$w:^I@c[0..s/ +[^.]//g]
";s/ +$//gm
176.27 Lolly Pop Fri Jun 7 00:23:52 2002
-ap056 sub f{lc=~y/aeiouy//."/".y/A-z0-9//}$V=f;@q=map{s/$/ /until--pos>1;f|$"x++pos}@F;s/ *$//,s/(.{57}).{4,}/$1.../,$q[$#q=@p=/ [^ .]/g]=~s/ //g,$_=@F.":^I$_
$V:^I@q
"if$_="@F"
get rid of join
176.30 Martin Carlsen Fri Jun 7 20:38:30 2002
-056npa sub c{y/aeiouyAEIOUY//."/".y/a-zA-Z0-9//}$_=(@c=map{$p=/\./?0:length(c)-length;$_.=$"x$p;c.$"x-$p}@F)?@F.":^I@F
".c.":^I@c
":"";s/(^I.{57}).{4,}(
.*^I.{0,56}\S+).*/$1...$2/
0.01 points better, but not good enough
176.31 Martin Carlsen Thu Jun 6 07:13:12 2002
-056npa sub c{y/aeiouyAEIOUY//."/".y/a-zA-Z0-9//}$_=(@c=map{$p=/\./?0:length(c)-length;$_.=$"x$p;c.$"x-$p}@F)?@F.":^I@F
".c.":^I@c
":"";s/(^I.{57})....+(
.*^I.{0,56}\S+).*/$1...$2/
176.33 Alexander Onokhov Thu Jun 6 16:59:29 2002
-ap056 ($x,@D)=map{$_.=$"x(3-length);y/aeiouyAEIOUY//."/".s/\w/$&/g}$_,@F;$_="@F ";s/(.{57})...+\./$1.../;$_=@F.":^I$_
$x:^I${s/\S+[ .]+/A.length$&/ge,\pack$_,@D}
"if@F;s/ +$//mg
176.33 Alexander Onokhov Fri Jun 7 17:49:05 2002
-ap056 ($x,@D)=map{$_.=$"x(3-length);y/aeiouyAEIOUY//."/".s/\w/$&/g}$_,@F;$_="@F ";s/(.{57})...+\./$1.../;$_=@F.":^I$_
$x:^I${s/\S+[ .]+/A.length$&/ge,\pack$_,@D}
"if@F;s/ +$//mg
177.21 Juho Snellman Fri Jun 7 20:38:25 2002
-p056 @d=map{$_|=$"x3&"$_  ";$"x
y...c|(@z=/[aeiouy]/ig).'/'.s/\w/$&/g}@w=/\S*\w\S*/g,$_;s/(.{57})...+\S/$1.../,$_=@w.":^I$_
$d[-1]:^I@d[0..s/ +[^.]//g]
"if$_="@w";s/ +(?=$|:)//mg
.{3,} -> ...+
177.24 Ton Hospel Sat Jun 1 07:58:31 2002
-ap056 sub f{lc=~y/aeiouy//."/".s/\w/$&/g}$f=f;@Q=map!s//$"x-$./e.f.$"x($.=y/ //c-length&f),@F;$_="@F";s/(.{57}).{4,}/$1.../;/\S+\s*\./;$_="@Q"=~/.{$-[0]}\S+/&&@F.":^I$_
$f:^I$&
"
177.25 Stephen Turner Mon Jun 3 11:01:46 2002
-lpa056 sub b{lc=~y/aeiouy//.'/'.s/\w/$&/g}$_=sprintf('%-3s 'x$#F,@F).$F[-1]||last;$m=b;s/(.{57})...+/$1../;@t=map{A.y///c}/\S+ +(?!\.)/g;$_=@F.":^I$_.
$m:^I".pack"@t A*",map b,@F
Just a trivial change to improve my tie break score.
177.26 Stephen Turner Sun Jun 2 20:57:48 2002
-lpa056 sub b{lc=~y/aeiouy//.'/'.s/\w/$&/g}$_=sprintf('%-3s 'x$#F,@F).$F[-1]||exit;$m=b;s/(.{57})...+/$1../;@t=map{A.y///c}/\S+ +(?!\.)/g;$_=@F.":^I$_.
$m:^I".pack"@t A*",map b,@F
Although the rules emphasise that underscore is not a letter, they also do not allow underscore to occur in the input, so using \w to count alphanumerics is OK.
177.32 Marko Nippula Tue Jun 4 19:30:59 2002
-ap056 @G=map{y?aeiouyAEIOUY??."/".s/\w/$&/g|' 'x y///c}$_,@X=map{sprintf"%-3s",$_}@F;$_="@X";s/(.{57})...+\S.*/$1.../;$#G=split/ +\.*/;$_=@X." $_\xd6@G\xd6"if@F;s/\s+(.*?) *\xd6/:^I$1
/g
177.32 Marko Nippula Tue Jun 4 20:31:39 2002
-ap056 @G=map{y?aeiouyAEIOUY??."/".s/\w/$&/g|' 'x y///c}$_,@X=map{sprintf"%-3s",$_}@F;$_="@X";s/(.{57})...+\S.*/$1.../;$#G=split/ +\.*/;$_=@X." $_\xd6@G\xd6"if@F;s/\s+(.*?) *\xd6/:^I$1
/g
177.32 Alexander Onokhov Wed Jun 5 19:53:10 2002
-ap056 ($x,@D)=map{$_.=$"x(3-length);y/aeiouyAEIOUY//."/".s/\w/$&/g}$_,@F;$_="@F";s/(.{57})...+\./$1.../;$_=@F.":^I$_
$x:^I${s/\S+[ .]+/A.length$&/ge,\pack$_.9,@D}
"if@F;s/ +$//mg
177.32 Alexander Onokhov Thu Jun 6 16:59:10 2002
-ap056 ($x,@D)=map{$_.=$"x(3-length);y/aeiouyAEIOUY//."/".s/\w/$&/g}$_,@F;$_="@F";s/(.{57})...+\./$1.../;$_=@F.":^I$_
$x:^I${s/\S+[ .]+/A.length$&/ge,\pack$_.9,@D}
"if@F;s/ +$//mg
178.20 Juho Snellman Fri Jun 7 20:14:59 2002
-p056 @d=map{$_|=$"x3&"$_  ";$"x
y...c|(@z=/[aeiouy]/ig).'/'.s/\w/$&/g}@w=/\S*\w\S*/g,$_;s/(.{57}).{3,}\S/$1.../,$_=@w.":^I$_
$d[-1]:^I@d[0..s/ +[^.]//g]
"if$_="@w";s/ +(?=$|:)//mg
Move a s/// outside the if, saving a space.
178.22 Eugene van der Pijll Sat Jun 1 21:17:16 2002
-ap056 sub t{lc=~y/aeiouy//."/".s/\w/$&/g}my@z;$_=/./&&(@x=map{$z[@z]=$b=t^$_^$_;$_^t^t}@F).":^I@x
".t.":^I@z
";y/\0/ /;s/ +$//mg;s/(^.*^I.{57}).{4,}/$1.../&&s#(^I.{0,56}\S+).*\Z#$1#
Thank you perlrun!
178.24 Ton Hospel Sat Jun 1 07:50:47 2002
-ap056 sub f{lc=~y/aeiouy//."/".s/\w/$&/g}$f=f;@Q=map!s/^/$"x-$./e.f.$"x($.=y/ //c-length&f),@F;$_="@F";s/(.{57}).{4,}/$1.../;/\S+\s*\./;$_="@Q"=~/.{$-[0]}\S+/&&@F.":^I$_
$f:^I$&
"
178.25 Guillermo Sansovic Thu Jun 6 23:55:10 2002
-pa056 sub c{uc=~y/AEIOUY//.'/'.s/\w//g}$w=c;@s=map{sprintf"%-3s",$_}@F;$_="@s";s/(.{57})...+\S/$1.../;$_&&=(@c=map{pack"A".y///c,c}@s).":^I$_
$w:^I@c[0..s/ +[^.]/$&/g]
";s/ +$//gm
178.29 Stephen Turner Sun Jun 2 15:46:07 2002
-lpa056 sub b{lc=~y/aeiouy//.'/'.y/A-z0-9//}$_=sprintf('%-3s 'x$#F,@F).$F[-1]||exit;$m=b;s/(.{57})...+/$1../;@t=map{A.y///c}/\S+ +(?!\.)/g;$_=@F.":^I$_.
$m:^I".pack"@t A*",map b,@F
178.33 Amir Karger Fri Jun 7 18:35:54 2002
-pa056 sub g{y/aeiouyAEIOUY//."/".s/\w/$&/g}$t=g;@r=map{$_=sprintf"%-3s",$_;pack A.y///c,g}@F;s/ +$//,s/(.{57})....+/$1.../,$_=@F.":^I$_
$t:^I@r[0..s/ +[^.]//g]
",s/ +$// if$_="@F"
Thanks to Chris Sarnowski!
179.20 Juho Snellman Fri Jun 7 19:49:56 2002
-p056 @d=map{$_|=$"x3&"$_  ";$"x
y...c|(@z=/[aeiouy]/ig).'/'.s/\w/$&/g}@w=/\S*\w\S*/g,$_;s/(.{57}).{3,}\S/$1.../,$_=@w.":^I$_
$d[-1]:^I@d[0..s/ +[^.]//g]
",s/ +(?=$|:)//mg if$_="@w"
Replace a @_=// with s//$&/
179.24 Rick Klement Sun Jun 2 16:51:56 2002
-056ap sub c{lc=~y/aeiouy//.'/'.s/\w//g}$c=c;$_="@F",s/(.{57}).{4,}/$1/&&($#c=split)--^s/$/.../,$\.=@F.":^I$_
$c:^I@c
"if@c=map$"x y///c|c,map$_.=$"x(3-/\./-length),@F;$\=~s/ +$//}{
180.20 Juho Snellman Fri Jun 7 19:29:25 2002
-p056 @d=map{$_|=$"x3&"$_  ";$"x
y...c|(@z=/[aeiouy]/ig).'/'.(@x=/\w/g)}@w=/\S*\w\S*/g,$_;s/(.{57}).{3,}\S/$1.../,$_=@w.":^I$_
$d[-1]:^I@d[0..s/ +[^.]//g]
",s/ +(?=$|:)//mg if$_="@w"
Woohoo, 7 strokes off with some reorganization.
180.21 Eugene van der Pijll Sat Jun 1 21:13:16 2002
-p056 sub t{lc=~y/aeiouy//."/".s/\w/$&/g}my@z;$_=/./&&(@x=map{$z[@z]=$b=t^$_^$_;$_^t^t}split).":^I@x
".t.":^I@z
";y/\0/ /;s/ +$//mg;s/(^.*^I.{57}).{4,}/$1.../&&s#(^I.{0,56}\S+).*\Z#$1#
Ahhh... much better. I used a standard golf technique here: going from a string based algorithm to an array based one. The xor'ing of the two lines to equalise the lengths is much clearer in this version. I don't like the my@z. I'll work on that next, probably.
180.23 Ton Hospel Sat Jun 1 07:42:01 2002
-an056 sub f{lc=~y/aeiouy//."/".s/\w/$&/g}$f=f;@Q=map!s/^/$"x-$./e.f.$"x($.=y/ //c-length&f),@F;$_="@F";s/(.{57}).{4,}/$1.../;/\S+\s*\./;"@Q"=~/.{$-[0]}\S+/&&print@F.":^I$_
$f:^I$&
"
180.23 Keith Calvert Ivey Tue Jun 4 02:33:29 2002
-pa056 sub c{lc=~y/aeiouy//.'/'.(()=/\w/g)}$p=c;$_=sprintf'%-3s 'x@F,@F;s/ +$//and$f=$/x3x
s/(.{57}).{4,}/$1/,$_=@F.":^I$_$f
$p:^I".pack"@{[map A.y///c,/\S+ */g]}9",map c,@F;s/ +$/
/
Okay, changing ....+ to .{4,} only helps the tiebreaker, but 0.01 is better than nothing.
180.24 Keith Calvert Ivey Tue Jun 4 02:19:23 2002
-pa056 sub c{lc=~y/aeiouy//.'/'.(()=/\w/g)}$p=c;$_=sprintf'%-3s 'x@F,@F;s/ +$//and$f=$/x3x
s/(.{57})....+/$1/,$_=@F.":^I$_$f
$p:^I".pack"@{[map A.y///c,/\S+ */g]}9",map c,@F;s/ +$/
/
180.28 Lolly Pop Fri Jun 7 00:20:57 2002
-ap056 sub f{join"/",lc=~y/aeiouy//,y/A-z0-9//}$V=f;@q=map{s/$/ /until--pos>1;f|$"x++pos}@F;s/ *$//,s/(.{57}).{4,}/$1.../,$q[$#q=@p=/ [^ .]/g]=~s/ //g,$_=@F.":^I$_
$V:^I@q
"if$_="@F"
second attempt: build around a sub
180.29 Stephen Turner Sun Jun 2 08:15:11 2002
-lpa056 sub b{lc=~y/aeiouy//.'/'.y/A-z0-9//}$_=sprintf('%-3s 'x$#F,@F).$F[-1]||exit;$m=b;s/(.{57})...+/$1../;@t=map{A.y///c}/[^ ]+ +(?!\.)/g;$_=@F.":^I$_.
$m:^I".pack"@t A*",map b,@F
182.33 Amir Karger Fri Jun 7 17:46:22 2002
-pa056 sub g{y/aeiouyAEIOUY//."/".s/\w/$&/g}$t=g;@r=map{$_=sprintf"%-3s",$_;pack A.y///c,g}@F;$_="@F"||exit;s/ +$//;s/(.{57})....+/$1.../;$_=@F.":^I$_
$t:^I@r[0..s/ +[^.]//g]
";s/ +$//
5 characters, and I only move up one space in the rankings?!
182.33 Amir Karger Fri Jun 7 17:57:49 2002
-pa056 sub g{y/aeiouyAEIOUY//."/".s/\w/$&/g}$t=g;@r=map{$_=sprintf"%-3s",$_;pack A.y///c,g}@F;$_="@F"||exit;s/ +$//;s/(.{57})....+/$1.../;$_=@F.":^I$_
$t:^I@r[0..s/ +[^.]//g]
";s/ +$//
Thanks to Chris Sarnowski!
183.23 Keith Calvert Ivey Tue Jun 4 00:40:33 2002
-pa056 sub c{lc=~y/aeiouy//.'/'.(()=/\w/g)}$p=c;$_=sprintf'%-3s 'x@F,@F
and$f=$/x3x s/(.{57})...+\S.*/$1/,$_=@F.":^I$_$f
$p:^I".pack("@{[map A.y///c,/\S+ */g]}9",map c,@F).'
',s/ +$//gm
185.21 Ton Hospel Sat Jun 1 06:31:27 2002
-an056 sub f{lc=~y/aeiouy//."/".s/\w/$&/g}@Q=map{$_.=$"x-($z=y///c-length&f);f.$"x$z}@F;$f=f;$_="@F";s/ *$//;s/(.{57}).{4,}/$1.../;/\S+\s*\./;"@Q"=~/.{$-[0]}\S+/&&print@F.":^I$_
$f:^I$&
"
186.24 Keith Calvert Ivey Mon Jun 3 03:18:29 2002
-pa056 sub c{lc=~y/aeiouy//.'/'.(()=/\w/g)}$p=c;$_=sprintf'%-3s 'x@F,@F
and$f=$/x3x s/(.{57})...+\S.*/$1/,$_=@F.":^I$_$f
$p:^I".pack((join'',map A.y///c,/\S+ */g).9,map c,@F).'
',s/ +$//gm
187.18 Juho Snellman Fri Jun 7 16:31:51 2002
-p056 @d=map{$_|=$"x3&"$_  ";$v+=@z=/[aeiouy]/ig;$t+=@x=/\w/g;$"x
y...c|@z.'/'.@x}@w=/\S*\w\S*/g;s/(.{57}).{3,}\S/$1.../,$_=@d.":^I$_
$v/$t:^I@d[0..s/ +[^.]//g]
",s/ +$//mg,$v=$t=0if$_="@w"
Get rid of a space.
187.23 Lolly Pop Thu Jun 6 23:15:29 2002
-ap056 $V=$L=0;@q=map{$L+=@p=/\w/g;$V+=@n=/[aeiouy]/gi;s/$/ /until--pos>1;@n."/".@p|$"x++pos}@F;s/ *$//,s/(.{57}).{4,}/$1.../,$q[$#q=@p=/ [^ .]/g]=~s/ //g,$_=@F.":^I$_
$V/$L:^I@q
"if$_="@F"
replace other y/// with m//g
187.24 Rick Klement Sun Jun 2 14:02:04 2002
-056ap sub c{lc=~y/aeiouy//.'/'.s/[^\W_]/$&/g}$c=c;$_="@F",s/(.{57}).{4,}/$1/&&($#c=split)--^s/$/.../,$\.=@F.":^I$_
$c:^I@c
"if@c=map{c|$"x y///c}map$_.=$"x(3-length)x!/\./,@F;$\=~s/ +$//}{
187.24 Keith Calvert Ivey Mon Jun 3 01:11:00 2002
-pa056 sub c{lc=~y/aeiouy//.'/'.(()=/\w/g)}$p=c;$_=sprintf'%-3s 'x@F,@F
and$f=$/x3x s/(.{57})...+\S.*/$1/,$_=@F.":^I$_$f
$p:^I".(pack+(join'',map A.y///c,/\S+ */g).9,map c,@F).'
',s/ +$//gm
187.33 Amir Karger Fri Jun 7 17:36:46 2002
-pa056 sub g{y/aeiouyAEIOUY//."/".s/\w//g}$t=g;map{$_=sprintf"%-3s",$_}@F;$_="@F"||exit;s/ +$//;s/(.{57})....+/$1.../;map{$_=pack A.y///c,g}@F;$_=@F.":^I$_
$t:^I@F[0..s/ +[^.]//g]
";s/ +$//
Aha! I *knew* storing ideas from previous contests would come in useful!
188.18 Mtv Europe Tue Jun 4 18:15:02 2002
-ap056 sub B{lc=~y/aeiouy//.v47.(@Q=/\w/g)}$B=$Z=$C=':^I';$C^=$C=($B|=$C.B).1^($Z|=$C.$_).1,$Z=~s/(.{59}).{4,}/$1.../&&$B=~s/\0+(??{$+[0]<59&&v9}).*//for@F;$_=@F?@F."$Z
".B."$B
":$T;y/\0/ /
another one bytes the dust
188.18 Juho Snellman Fri Jun 7 00:52:08 2002
-p056 @d=map{$_|=$"x3&"$_  ";$v+=@z=/[aeiouy]/ig;$t+=@x=/\w/g;$"x
y...c|@z.'/'.@x}@w=/\S*\w\S*/g;s/(.{57}).{3,}\S/$1.../,$_=@d.":^I$_
$v/$t:^I@d[0..s/ +[^.]//g]
",s/ +$//mg if$_="@w";$v=$t=t
Twiddle with the tiebreakers, and -> if
188.22 Lolly Pop Thu Jun 6 22:06:31 2002
-ap056 $V=$L=0;@q=map{$L+=@p=/\w/g;s/$/ /until--pos>1;$V+=$n=lc=~y#aeiouy##;"$n/".@p|$"x++pos}@F;s/ *$//,s/(.{57}).{4,}/$1.../,$q[$#q=@p=/ [^ .]/g]=~s/ //g,$_=@F.":^I$_
$V/$L:^I@q
"if$_="@F"
dump silly "."
188.33 Amir Karger Fri Jun 7 15:46:19 2002
-pa056 sub g{y/aeiouyAEIOUY//."/".s/\w//g}$t=g;map{$_=sprintf"%-3s",$_}@F;$_="@F"||exit;s/ +$//;s/(.{57})....+/$1.../;map{$_=pack"A".y///c,g}@F;$_=@F.":^I$_
$t:^I@F[0..s/ +[^.]//g]
";s/ +$//
Ha! (OK, it's only *really* two characters less than my 198.)
189.17 Mtv Europe Tue Jun 4 12:56:09 2002
-apX056 sub B{lc=~y/aeouiy//.v47.(@Q=/\w/g)}$B=$Z=$C=":^I";$B|=$C.B,($Z|=$C.$_)=~s/(.{59}).{4,}/$1.../&&$B=~s/\0+(??{$+[0]<59&&w}).*//,$C^=$C=$B.1^$Z.1for@F;$_=@F?@F."$Z
".B."$B
":$T;y/\0/ /
don't insert \n in this code
189.22 Lolly Pop Thu Jun 6 22:04:23 2002
-ap056 $V=$L=0;@q=map{$L+=@p=/\w/g;s/$/ /until--pos>1;$V+=$n=lc=~y#aeiouy##;$n."/".@p|$"x++pos}@F;s/ *$//,s/(.{57}).{4,}/$1.../,$q[$#q=@p=/ [^ .]/g]=~s/ //g,$_=@F.":^I$_
$V/$L:^I@q
"if$_="@F"
use regexp for letter count
189.23 Michiel van Leeuwen Thu Jun 6 22:10:27 2002
-anp056 @F=($_="@F",@F);s/\S+ /$&|"\0"x4/ge;y/\0/ /;@F=map{$_=lc;" "x y///c|y/aeiouy//."/".s/\w//g}@F;$_&&="$#F:^I$_
@F
";s/(
\S*) +/$1:^I/;s/(^I.{57}).{4,}(
.*:.+?.{56}) .*/$1...$2
/s;s/ +$//
189.24 Keith Calvert Ivey Mon Jun 3 00:15:22 2002
-pa056 sub c{lc=~y/aeiouy//.'/'.(()=/\w/g)}$p=c;$_=sprintf'%-3s 'x@F,@F
and($f=$/x3x s/(.{57})...+\S.*/$1/,$_=@F.":^I$_$f
$p:^I".(pack+(join'',map A.y///c,/\S+ */g).9,map c,@F).'
',s/ +$//gm)
189.26 Rick Klement Sat Jun 1 22:40:57 2002
-056ap sub c{lc=~y/aeiouy//.'/'.y/a-zA-Z0-9//}$c=c;$_="@F",s/(.{57}).{4,}/$1.../&&($#c=-1+split' ',$1),$\.=@F.":^I$_
$c:^I@c
"if@c=map{c|$"x y///c}map$_.=$"x(3-length)x!/\./,@F}{$\=~s/ +$//mg
189.32 Juho Snellman Fri Jun 7 00:43:06 2002
-p056 @d=map{$_|=$"x3&"$_  ";$v+=@y=/[aeiouy]/ig;$a+=@o=/\w/g;$"x
y...c|@y.'/'.@o}@w=/\S*\w\S*/g;$_="@w"and
s/(.{57}).{3,}\S/$1.../,$_=@d.":^I$_
$v/$a:^I@d[0..s/ +[^.]//g]
",s/ +$//mg;$v=$a=a
190.21 Yanick Champoux Fri Jun 7 22:33:35 2002
-p056 sub
t{map
y/aeiyou//.'/'.s/\w//g,lc}@q=map$_.$"x(3-tr///c),split;@w=t$_="@q";s/(.{57})...+\./$1.../;$_=@q.":^I$_
@w:^I@{[map{sprintf'%-'.y///c.'s',t}@q[0..$#z]]}
"if@z=/\w\S*/g;s/ *$//gm
190.33 Juho Snellman Fri Jun 7 00:38:43 2002
-p056 @d=map{$_|=$"x3&"$_  ";$v+=@y=/[aeiouy]/ig;$a+=@o=/\w/g;$"x
y...c|@y.'/'.@o}@w=/\S*\w\S*/ig;$_="@w"and
s/(.{57}).{3,}\S/$1.../,$_=@d.":^I$_
$v/$a:^I@d[0..s/ +[^.]//g]
",s/ +$//mg;$v=$a=a
191.17 Mtv Europe Tue Jun 4 10:40:14 2002
-apX056 sub B{lc=~y/aeouiy//.v47.(@Q=/\w/g)}$B=$Z=":^I";$B|=($C^=$C=($B^$Z).$B=~v47).B,($Z|=$C.$_)=~s/(.{59}).{4,}/$1.../&&$B=~s/\0+(??{$+[0]<59&&w}).*//for@F;$_=@F?@F."$Z
".B."$B
":$T;y/\0/ /
191.21 Andrew Savige Fri Jun 7 21:58:43 2002
-ap056 $s=$t=0;@n=map{$t+=($s+=@q=/\w/g,$_.=$"x(3-tr)))c),$z=pack A.y)))c,lc=~y)aeiouy)).v47.@q);$z}@F;s@(.{57})..[^.].+@$1...@,$_=@F.":^I$_
$t/$s:^I@n[0..-1+split/[. ]+/]
",s, +$,,mg if$_="@F"
192.20 Jay Tilton Fri Jun 7 23:35:35 2002
-ap056 sub c{$_=lc;y/aeiouy//.'/'.s/\w//g}
$s=$t=":\t";($s.=$_.$")|=($t.=c."\0")^($t|=$s^$s)for@F;$_=($v=@F)?"$v$s
${\c}$t
":'';y/\0/ /;s/(:.{58})...+\./$1.../&&s|(:.{57,}?) \d.*|$1|;s/ +$//mg
...and three more
192.23 Michiel van Leeuwen Thu Jun 6 15:30:19 2002
-anp056 @F=($_="@F",@F);s/\S+ /$&|"\0"x4/ge;y/\0/ /;map{$_=lc;$_=" "x y///c|y/aeiouy//."/".s/\w//g}@F;($g="@F")=~s/ +/:^I/;$_&&="$#F:^I$_
$g
";s/(^I.{57}).{4,}(
.*:.+?.{56}) .*/$1...$2
/s;s/ +$//
192.24 Lolly Pop Thu Jun 6 21:18:37 2002
-ap056 $V=$L=0;@q=map{s/$/ /until--pos>1;$V+=$n=lc=~y#aeiouy##;$L+=$d=y#A-z0-9##;"$n/$d"|$"x++pos}@F;s/ *$//,s/(.{57}).{4,}/$1.../,$q[$#q=@p=/ [^ .]/g]=~s/ //g,$_=@F.":^I$_
$V/$L:^I@q
"if$_="@F"
replaced pack with a bit twiddler.
192.25 Keith Calvert Ivey Sun Jun 2 18:48:01 2002
-pa056 sub c{lc=~y/aeiouy//.'/'.(()=/\w/g)}$p=c;$_=sprintf'%-3s 'x@F,@F
or next;$f=$/x3x s/(.{57})...+\S.*/$1/;$_=@F.":^I$_$f
$p:^I".(pack+(join'',map A.y///c,/\S+ */g).9,map c,@F).'
',s/ +$//gm
192.33 Juho Snellman Thu Jun 6 23:06:04 2002
-p056 @d=map{$_|=$"x3&"$_  ";$v+=@y=/[aeiouy]/ig;$a+=@o=/\w/g;$"x
y...c|@y.'/'.@o}@w=/\S*\w\S*/ig;$_="@w"and
s/(.{57}).{3,}\S/$1.../,$_=@d.":^I$_
$v/$a:^I@d[0..s/ +[^.]/$&/g]
",s/ +$//mg;$v=$a=a
Remove the outer map, thanks to aliasing. I thought map didn't do that?
193.21 Andrew Savige Fri Jun 7 01:18:01 2002
-ap056 $s=$t=0;@n=map{$t+=($s+=@q=/\w/g,$_.=$"x(3-tr)))c),$z=pack A.y)))c,lc=~y)aeiouy)).v47.@q);$z}@F;s, $,,,s@(.{57}).{4,}@$1...@,$_=@F.":^I$_
$t/$s:^I@n[0..-1+split/[. ]+/]
",s, +$,, if$_="@F"
I cannot bear to see `/anick ahead of me. This is the last shot in my locker, however, as I am all out of ideas.
194.17 Mtv Europe Tue Jun 4 09:10:21 2002
-apX056 sub B{lc=~y/aeouiy//.v47.(@Q=/\w/g)}$B=$Z=":^I";$B^=($C=($B^$Z).$B=~v47&v0 x99).B,($Z^=$C.$_)=~s/(.{59}).{4,}/$1.../&&$B=~s/\0+(??{$+[0]<59&&w}).*//for@F;$_=@F?@F."$Z
".B."$B
":'';y/\0/ /
194.20 Eugene van der Pijll Sat Jun 1 18:31:42 2002
-p056 sub t{lc=~y/aeiouy//."/".s/\w/$&/g}$w=split;$b^=(($@.=$_.$")^=($b.=t.$")^$b)^$@for@_;$_=/./&&"$w:^I$@
".t.":^I$b
";y/\0/ /;$@=$b=!s/ +$//mg;s/(^.*^I.{57}).{4,}/$1.../&&s#(^I.{0,56}\S+).*\Z#$1#
Thank you, perlre!
194.32 Alexander Onokhov Thu Jun 6 16:58:31 2002
-ap056 ($x,@D)=map{$_.=$"x(3-length);y/aeiouyAEIOUY//."/".s/\w/$&/g}$_,@F;$_=join$",@F;s/ $//;s/(.{57}).{4,}/$1.../;$r=@F.":^I$_
$x:^I";s/\S+[ .]+/A.length$&/ge;s/\d+$/*/;$_=$r.pack($_,@D)."
"if@F
194.33 Juho Snellman Thu Jun 6 22:58:48 2002
-p056 @d=map{$v+=@y=/[aeiouy]/ig;$a+=@o=/\w/g;$"x
y...c|@y.'/'.@o}@w=map$_|$"x3&"$_  ",/\S*\w\S*/ig;$_="@w"and
s/(.{57}).{3,}\S/$1.../,$_=@d.":^I$_
$v/$a:^I@d[0..s/ +[^.]/$&/g]
",s/ +$//mg;$v=$a=a
YES!, finally got rid of the stupid extra s/ +$//.
195.19 Jay Tilton Fri Jun 7 22:38:25 2002
-ap056 sub c{$_=lc;y/aeiouy//.'/'.s/\w//g}$s=$t=":\t";($s.=$_.$")|=($t.=c."\0")^($t|=$s^$s)for@F;$s=~s/(.{59})[^.]{3,}/$1../&&$t=~s\xab(.{58})\0.*\xab$1\xab;$_=($v=@F)?"$v$s
${\c}$t
":'';y/\0/ /;s/ +$//mg
Woo. One stroke shaved. Hi, Samy. :)
195.21 Josef Drexler Fri Jun 7 21:39:08 2002
-pa056 sub c($){()=/@_/gi}$v=$t=0;@Q=map{$v+=$V=c"[aeiouy]";$t+=$T=c"\\w";$_.=$"x(3- c$/);pack A.c$/,"$V/$T"}@F;s/(.{57}).{4,}(?<! )/$1.../,$#Q=c '\W\w',$_=@F.":^I$_
$v/$t:^I@Q
"if$_="@F";s/ *$//gm
found one more to get rid of, but that looks to be the last one :(
195.22 Sec Fri Jun 7 20:26:35 2002
-ap056 sub p{(()=/[aeiouy]/ig)."/".s/\w/$&/g}$l=p.":^I";$_=join$"x3,@F;s/(...) +/$1 /g;$l.=sprintf'%-*s ',length,p for@F;s/(.{57}).{4,}/$1.../&&$l=~s/(^I.{56}\S*).*/$1/;$_=@F.":^I$_
$l
"if@F;s/ +$//
_NOW_ I know why I have a mobile phone. Silly me for not seeing this one...
195.24 Keith Calvert Ivey Sun Jun 2 18:06:24 2002
-pa056 sub c{lc=~y/aeiouy//.'/'.(()=/\w/g)}$p=c;$_=sprintf'%-3s 'x@F,@F
or next;$f=$/x3x s/(.{57})...+\S.*/$1/;$r=join'',map
A.y///c,/\S+ */g;$_=@F.":^I$_$f
$p:^I".(pack$r.9,map c,@F).'
',s/ +$//gm
196.19 Jay Tilton Thu Jun 6 23:49:18 2002
-ap056 sub c{$_=lc;y/aeiouy//.'/'.s/\w//g}$s=$t=":\t";($s.=$_.$")|=($t.=c.$")^($t|=$s^$s)for@F;$s=~s/(.{59})[^.]{3,}/$1../&&$t=~s/(.{58})[\0 ].*/$1/;$_=($v=@F)?"$v$s
${\c}$t
":'';y/\0/ /;s/ +$//mg
Small problem interpreting "An underscore is not a letter." I wonder if this one is kosher.
196.22 Josef Drexler Fri Jun 7 21:12:47 2002
-pa056 sub c($){()=/@_/gi}$v=$t=0;@Q=map{$v+=$V=c"[aeiouy]";$t+=$T=c"\\w";$_.=$"x(3- c$/);pack A.c$/,"$V/$T"}@F;s/(.{57}).{4,}(?<! )/$1.../,$#Q=c" [^. ]",$_=@F.":^I$_
$v/$t:^I@Q
"if$_="@F";s/ *$//gm
at this rate it'll only take 10 days to catch up with Ton... (what do you mean there are only 2 hours left??)
196.23 Yanick Champoux Thu Jun 6 23:33:37 2002
-p056 sub
t{map
y/aeiyou//.'/'.s/\w//g,lc
pop}@q=map$_.$"x(3-
y///c),split;@w=t$_="@q";s/(.{57})...+\./$1.../;$_=@q.":^I$_
@w:^I@{[map{sprintf'%-'.y///c.'s',t$_}@q[0..$#z]]}
"if@z=/\w\S*/g;s/ *$//gm
could... could I really have a chance to beat /-\ndrew?
196.24 Keith Calvert Ivey Sun Jun 2 18:04:11 2002
-pa056 sub c{lc=~y/aeiouy//.'/'.(()=/\w/g)}$p=c;$_=sprintf'%-3s 'x@F,@F
or next;$f=$/x3x s/(.{57})...+\S.*/$1/;$r=join'',map
A.y///c,/\S+\s*/g;$_=@F.":^I$_$f
$p:^I".(pack$r.9,map c,@F).'
',s/ +$//gm
196.26 Lolly Pop Thu Jun 6 19:49:39 2002
-ap056 $V=$L=0;@q=map{s/$/ /until--pos>1;$V+=$n=lc=~y#aeiouy##;$L+=$d=y#A-z0-9##;pack A.++pos,"$n/$d"}@F;s/ +$//,s/(.{57}).{4,}/$1.../,$q[$#q=@p=/ [^ .]/g]=~s/ //g,$_=@F.":^I$_
$V/$L:^I@q
"if$_="@F"
lowered tiebreaker; >>1 and "A" now >1 and A.
196.27 Mtv Europe Tue Jun 4 08:25:08 2002
-apX056 sub B{y/aeouiyAEOUIY//."/".(()=/\w/g)}$B=$Z=":^I";$B^=($C=($B^$Z).$B=~"/"&v0 x99).B,($Z^=$C.$_)=~s/(.{59})....+/$1.../&&$B=~s/\0+(??{$+[0]<59&&w}).*//for@F;$_=@F?@F."$Z
".B."$B
":'';y/\0/ /
196.29 Marko Nippula Tue Jun 4 10:33:26 2002
-ap056 @X=map{sprintf"%-3s",$_}@F;@G=map{sprintf"%-${\y///c}s",y/aeiouyAEIOUY//."/".s/\w/$&/g}($_="@X"),@X;s/(.{57})...+\S.*/$1.../g;$#G=split/ +\.*/;$_=($x=@X)." $_\xd6@G\xd6"if@F;s/\s+(.*?) *\xd6/:^I$1
/g
Finally below 200.
197.16 Mtv Europe Sun Jun 2 12:24:29 2002
-ap056 sub B{(@Q=/[aeiouy]/ig).v47.(@Q=/\w/g)}$B=$Z=':^I';$B^=($C=($Z^$B).$B=~v47&v0 x99).B,($Z^=$C.$_)=~s/(.{59}).{4,}/$1.../&&$B=~s/\0+(??{$+[0]<59&&v9}).*//for@F;$_=@F?@F."$Z
".B."$B
":$T;y/\0/ /
i know why i'm stuck - i forgot my rule to immediately send updates
197.20 Guillermo Sansovic Wed Jun 5 14:06:49 2002
-pa056 sub c{0+s/[aeiouy]/$&/gi.'/'.s/\w//g}@s=map{sprintf"%-3s",$_}@F;$w=c;$_="@s";s/(.{57})...+\S/$1.../;@c=map{sprintf"%-*s",length,c}@s[0..-1-/ \./+split];$_=0+@F.":^I$_\n$w:^I@c\n"if$_;s/ +$//gm
197.22 Yanick Champoux Thu Jun 6 23:26:49 2002
-p056 sub
t{map
y/aeiyou//.'/'.s/\w//g,lc
pop}@q=map$_.$"x(3-
y///c),split;@w=t$_="@q";s/(.{57})...+\./$1.../;@z=/\w\S*/g;$_&&=@q.":^I$_
@w:^I@{[map{sprintf'%-'.y///c.'s',t$_}@q[0..$#z]]}
";s/ *$//gm
You just know you are on your last mile when you begin to fiddle with the tiebreaker score...
197.22 Andrew Savige Thu Jun 6 03:29:50 2002
-ap056 @n=map{$t+=($s+=@q=/\w/g,
$_.=$"x(3-length),
$z=pack A.y)))c,lc=~y)aeiouy)).v47.@q);
$z}@F;
s, $,,,s@(.{57}).{4,}@$1...@,$_=@F.($s=$t=":^I$_
$t/$s:^I@n[0..-1+split/[. ]+/]
"),s, +$,, if$_="@F"
Broken 200 at last! Fancy not thinking of pack until Thursday. :-(
197.23 Prakash Kailasa Fri Jun 7 17:43:52 2002
-ap056 $V=$T=0;@G=map{$V+=$v=y/aeiouy//,$T+=$t=s/\w/$&/g;sprintf"%-*s",y///c,"$v/$t"}map{$_.=$"until/\.$|...+/;lc}@F;$_="@F",s/(.{57})....+/$1.../;$_=@F.":^I$_
$V/$T:^I@G[0..$#H]
"if@H=/\w+/g;s/ +$//
finally under the magic 200, yay!
197.25 Rick Klement Sat Jun 1 20:34:33 2002
-056lap sub c{lc=~y/aeiouy//.'/'.y/a-zA-Z0-9//}$c=c;$_="@F",s/ *$/./,s/(.{57}).{4,}/$1.../&&($#c=-1+split' ',$1),$r.=@F.":^I$_
$c:^I@c
"if@c=map{c|$"x y///c}map$_.=$"x(3-length),@F}{s/ +$//mgfor$\=$r
197.25 Yanick Champoux Thu Jun 6 23:17:37 2002
-p056 sub
t{map
y/aeiyou//.'/'.s/\w//g,lc
pop}@q=map$_.$"x(3-
y///c),split;@w=t$_="@q";s/(.{57})...+\./$1.../;@a=/\w\S*/g;$_&&=@q.":^I$_
@w:^I@{[map{sprintf'%-'.y///c.'s',t$_}@q[0..$#a]]}
";s/ *$//gm
WOO*HOO*!!! Under 200! *make a spontaneous dance of victory* I might even, maybe!, come to beat Andrew this time!
198.18 Michael Thelen Fri Jun 7 22:40:04 2002
-ap056 map$$_=$Z,B..Z;$V+=@v=/[aeiouy]/ig,$T+=@t=/\w/g,$Q.=$"x($x=$P=~y///c-length$Q).$S.@v.'/'.@t,$P.=$"x-$x.$S.$_,$S=$"for@F;$_=/./&&@F.":^I$P
$V/$T:^I$Q
";s/(^I.{57}).{4,}(
.*^I.{0,56}\S+).*/$1...$2/
Why didn't I find any of these strokes to shave earlier?
198.20 Ton Hospel Sat Jun 1 06:12:48 2002
-an056 sub f{lc=~y/aeiouy//."/".s/\w/$&/g}@Q=map{$_.=$"x-($z=y///c-length&f);f.$"x$z}@F;$f=f;$_="@F";s/ *$//;s/(.{57}).{4,}/$1.../;/\S+\s*\./;($q="@Q")=~s/(.{$-[0]}\S+).*/$1/&&print@F.":^I$_
$f:^I$q
"
198.20 Eugene van der Pijll Sat Jun 1 17:40:56 2002
-p056 sub t{lc=~y/aeiouy//."/".s/\w/$&/g}$@=$b=$c;$w=split;$b^=(($@.=$_.$")^=($b.=t.$")^$b)^$@for@_;$_=/./&&"$w:^I$@
".t.":^I$b
";y/\0/ /;s/ +$//mg;s/(^.*^I.{57}).{4,}/$1.../&&s#(
.*^I.{0,56}\S+).*$#$1#
198.20 pom Wed Jun 5 13:03:01 2002
-ap056 $p=$V=$L=0;@C=map{$q=$p;$V+=$v=lc=~y/aeiouy//;$L+=$l=y/0-9@-z//;$p=y///c-split//,$k="$v/$l";$_=$"x-$q.$_;$"x$q.$k}@F;$_="@F";s/(.{57}).{4,}/$1.../;$#C=-1-/ \./+split;$_&&=@F.":^I$_
$V/$L:^I@C
"
198.23 Sec Fri Jun 7 18:26:20 2002
-ap056 sub p{(()=/[aeiouy]/ig)."/".s/\w/$&/g}$l=p.":^I";$_=join$"x3,@F;s/(...) +/$1 /g;$l.=sprintf'%-*s ',length,p for@F;$l=~s/(^I.{56}\S*).*/$1/ if s/(.{57}).{4,}/$1.../;$_=@F.":^I$_
$l
"if@F;s/ +$//;
Unbeliveable. My second eye is rapidly going down the drain... ... I'm still waiting for the magic idea to race past \'anick
198.31 Lolly Pop Thu Jun 6 17:01:52 2002
-ap056 $V=$L=0;@q=map{$_.=$"until--pos>>1;$V+=$a=lc=~y#aeiouy##;$L+=$b=y#A-z0-9##;pack"A".++pos,"$a/$b"}@F;s/ +$//,s/(.{57}).{4,}/$1.../,$q[$#q=()=/ [^ .]/g]=~y/ //d,$_=@F.":^I$_
$V/$L:^I@q
"if$_="@F"
first attempt
198.32 Amir Karger Fri Jun 7 15:02:25 2002
-pa056 sub g{y/aeiouyAEIOUY//."/".s/\w/$&/g}
$t=g;map{$_=sprintf"%-3s",$_}@F;$_="@F"||exit;s/ +$//;s/(.{57})....+/$1.../;
map{$_=pack"A".y///c,g}@F;
$_=@F.":\t$_\n$t:\t@F[0..s/ +[^.]//g]\n";
s/ +$//
We have algorithmage! Sub-200 and I should be able to get a good bit farther (famous last words)...
198.33 Alexander Onokhov Thu Jun 6 16:58:00 2002
-ap056 map$_=y/aeiouyAEIOUY//.'/'.s/\w/$&/g,$x=$_,@D=@F;$_=join$",map$_.$"x(3-length),@F;s/ $//;s/(.{57})....+/$1.../;$r=@F.":^I$_
$x:^I";s/\S+[ .]+/'A'.length$&/ge;s/\d+$/*/;$_=$r.pack($_,@D).'
'if@F
198.34 Juho Snellman Thu Jun 6 22:35:28 2002
-p056 @d=map{$v+=@y=/[aeiouy]/ig;$a+=@o=/\w/g;$"x
y...c|@y.'/'.@o}@w=map$_|$"x3&"$_  ",/\S*\w\S*/ig;$_="@w"and
s/ +$//,s/(.{57}).{4,}/$1.../,$_=@d.":^I$_
$v/$a:^I@d[0..s/ +[^.]/$&/g]
",s/ +$//;$v=$a=a
Oops, left a ' ' in. $" saves one more stroke.
198.36 Alexander Onokhov Thu Jun 6 16:57:31 2002
-ap056 ($x,@D)=map y/aeiouyAEIOUY//.'/'.s/\w/$&/g,$_,@F;$_=join$",map$_.$"x(3-length),@F;s/ $//;s/(.{57})....+/$1.../;$^A=@F.":^I$_
$x:^I";s/ [^ .]/ @/g;s/[^@]/</g;s/./@/;formline"$_<
",@D;$_=$^A if@F
199.16 Mtv Europe Sat Jun 1 21:20:59 2002
-ap056 sub B{(@Q=/[aeiouy]/ig).v47.(@Q=/\w/g)}$B=$Z=':^I';$Z^=($C=($Z^$B).$B=~v47&v0 x99).$_,$B^=$C.B for@F;$Z=~s/(.{59})....+/$1.../&&$B=~s/\0+(??{$+[0]<59&&v5}).*//;$_=@F?@F."$Z
".B."$B
":$T;y/\0/ /
yesss
199.18 Michael Thelen Fri Jun 7 22:34:37 2002
-ap056 map$$_=$Z,B..Z;$V+=@v=/[aeiouy]/ig,$T+=@t=/\w/g,$Q.=$"x($x=$P=~y///c-length$Q).$S.@v.'/'.@t,$P.=$"x-$x.$S.$_,$S=$"for@F;$_=@F?@F.":^I$P
$V/$T:^I$Q
":$Z;s/(^I.{57}).{4,}(
.*^I.{0,56}\S+).*/$1...$2/
I actually broke 200! This is fun again! :-)
199.19 Guillermo Sansovic Wed Jun 5 12:45:32 2002
-pa056 sub c{0+s/[aeiouy]/$&/gi.'/'.s/\w//g}$w=c;@s=map{sprintf"%-3s",$_}@F;$_="@s";s/(.{57})...+\S/$1.../;@c=map{sprintf"%-*s",length,c}@s[0..-1-/ \./+split];$_=0+@F.":\t$_\n$w:\t@c\n"if$_;s/ +$//gm
199.22 Jay Tilton Thu Jun 6 21:55:49 2002
-ap056 sub c{$_=lc;y/aeiouy//.'/'.y/a-z0-9//}$s=$t=":\t";($s.=$_.$")|=($t.=c.$")^($t|=$s^$s)for@F;$s=~s/(.{59})[^.]{3,}/$1../&&$t=~s/(.{58})[\0 ].*/$1/;$_=($v=@F)?"$v$s
${\c}$t
":'';y/\0/ /;s/ +$//mg
I'm in love with the string-building part. I need to channel an alien who can do some regex-bashing. Ow! My *other* eyeball!
199.23 Josef Drexler Fri Jun 7 04:24:41 2002
-pa056 sub c{()=/@_/gi}$v=$t=0;@Q=map{$v+=$V=c"[aeiouy]";$t+=$T=c"\\w";$_.=$"x(3- c$/);pack A.c($/),"$V/$T"}@F;s/ *$//,s/(.{57}).{4,}/$1.../,$Q[$#Q=c" [^. ]"]=~y/ //d,$_=@F.":^I$_
$v/$t:^I@Q
"if$_="@F"
under 200! Yay!
199.25 Keith Calvert Ivey Sun Jun 2 05:10:08 2002
-pa056 sub c{lc=~y/aeiouy//.'/'.y/A-Za-z0-9//}$p=c;$_=sprintf'%-3s 'x@F,@F;$f=$/x3x s/(.{57})...+\S.*/$1/;$t=@F.":^I$_$f
$p:^I";$r=join'',map A.y///c,/\S+\s*/gand$_=$t.(pack$r.9,map c,@F).'
',s/ +$//gm
199.27 Stephen Turner Sat Jun 1 22:19:58 2002
-ln00 sub b{lc=~y/aeiouy//.'/'.y/A-z0-9//}map{split;$_=sprintf('%-3s 'x$#_,@_).$_[-1];$m=b;s/(.{57})...+/$1../;@t=map{A.y///c}/[^ ]+ +(?!\.)/g;print@_.":^I$_.
$m:^I".pack"@t A*",map b,@_}/\s*([^.]+)./g
Note the use of A-z instead of A-Za-z. This works because the characters between Z and a never occur in the input, according to the rules.
199.35 Juho Snellman Thu Jun 6 22:26:44 2002
-p056 @d=map{$v+=@y=/[aeiouy]/ig;$a+=@o=/\w/g;$"x
y...c|@y.'/'.@o}@w=map$_|'   '&"$_  ",/\S*\w\S*/ig;$_="@w"and
s/ +$//,s/(.{57}).{4,}/$1.../,$_=@d.":^I$_
$v/$a:^I@d[0..s/ +[^.]/$&/g]
",s/ +$//;$v=$a=a
Replace sprintf with more bit-twiddling.
200.18 Michael Thelen Fri Jun 7 22:31:07 2002
-ap056 $$_=$Z for B..Z;$V+=@v=/[aeiouy]/ig,$T+=@t=/\w/g,$Q.=$"x($x=$P=~y///c-length$Q).$S.@v.'/'.@t,$P.=$"x-$x.$S.$_,$S=$"for@F;$_=@F?@F.":^I$P
$V/$T:^I$Q
":$Z;s/(^I.{57}).{4,}(
.*^I.{0,56}\S+).*/$1...$2/
I finally met my goal of 200! Well, okay, so my goal was to -break- 200...
200.20 pom Wed Jun 5 10:47:51 2002
-ap056 $p=$V=$L=0;@C=map{$q=$p;$V+=$v=lc=~y/aeiouy//;$L+=$l=y/0-9@-z//;$p=y///c-split//,$k="$v/$l";$_=$"x-$q.$_;$"x$q.$k}@F;$_="@F";s/(.{57}).{4,}/$1.../;$_=@F.":^I$_
$V/$L:^I@C
"if$#C=-1-/ \./+split,@F
200.23 Michiel van Leeuwen Wed Jun 5 20:59:42 2002
-anp056 @F=($_="@F",@F);s/\S+ /$&|"\0"x4/ge;y/\0/ /;map{$_=lc;$_=" "x y///c|y/aeiouy//."/".s/\w//g}@F;$g="@F";$g=~s/ +/:^I/;s/(.{57}).{4,}/$1.../&&$g=~s/(:.+?.{56}) +.*/$1/;$_="$#F:^I$_
$g
"if$_;s/ +$//
A new trick. Didn't gain me as much as I hoped...
200.24 Bruce Gray Fri Jun 7 23:50:06 2002
-na056 @n=map$s.$"x(y///c-length($s=y/aeiouy//.'/'.y/a-z0-9//)),map{$_.=$"x(3-length);lc}@F,$_;$_="@F";s/ $//;s/(.{57})....+/$1/and$#n=(split),$_.=$/x3;$#n--;$c=@F and$_="$c:^I$_
$s:^I@n
";s/ +$//;print
Changed the $c=@F ... print groupings
200.30 Martin Carlsen Wed Jun 5 11:47:30 2002
sub c{y/aeiouyAEIOUY//."/".y/a-zA-Z0-9//}$/='.';map{@c=map{$p=/\./?0:length(c)-length;$_.=$"x$p;c.$"x-$p}@w=split;$_="@w
".c.":^I@c";s/^(.{57})....+/$1.../&&s/(^I.{0,56}\S+).*/$1/;@w&&print@w.":^I$_
"}<>
201.20 Ton Hospel Sat Jun 1 06:10:17 2002
-an056 sub f{lc=~y/aeiouy//."/".s/\w/$&/g}@Q=map{$_.=$"x-($z=y///c-length&f);f.$"x$z}@F;$f=f;$_="@F";s/ *$//;s/(.{57}).{4,}/$1.../;/\S+\s*\./;($q="@Q")=~s/(.{$-[0]}\S+).*/$1/;$_&&print@F.":^I$_
$f:^I$q
"
201.24 Bruce Gray Fri Jun 7 23:35:47 2002
-na056 $c=@F;@n=map$s.$"x(y///c-length($s=y/aeiouy//.'/'.y/a-z0-9//)),map{$_.=$"x(3-length);lc}@F,$_;$_="@F";s/ $//;s/(.{57})....+/$1/and$#n=(split),$_.=$/x3;$#n--;$_="$c:^I$_
$s:^I@n
";s/ +$//;$c&&print
The reorg of 'length' within map made $s match $u. Removed $u.
201.26 Rick Klement Sat Jun 1 19:41:59 2002
-056lap sub c{lc=~y/aeiouy//.'/'.y/a-zA-Z0-9//}map({s/ *$/./,pos=57,s/\G.{4,}/.../&&($#c=-1+split' ',$`)}$t="@F"),$r.=@F.":^I$t
".c.":^I@c
"if@c=map{c|$"x y///c}map$_.=$"x(3-length),@F}{s/ +$//mgfor$\=$r
I hope the tabs are right :)
201.32 Juho Snellman Thu Jun 6 04:32:24 2002
-p056 @d=map{$v+=@y=/[aeiouy]/ig;$a+=@o=/\w/g;$"x
y...c|@y.'/'.@o}@w=map{sprintf'%-3s',$_}/\S*\w\S*/ig;$_="@w"and
s/ +$//,s/(.{57}).{4,}/$1.../,$_=@d.":^I$_
$v/$a:^I@d[0..s/ +[^.]/$&/g]
",s/ +$//;$v=$a=a
Better way to count matches (s/ +[^.]/$&/g), remove one more newline (all of the remaining ones have some sort of use).
202.16 Michael Thelen Thu Jun 6 05:31:55 2002
-ap056 $V+=@v=/[aeiouy]/ig,$T+=@t=/\w/g,$q.=$"x($x=$p=~y///c-length$q).$s.@v.'/'.@t,$p.=$"x-$x.$s.$_,$s=$"for@F;$_=@F?@F.":^I$p
$V/$T:^I$q
":$z;s/(^I.{57}).{4,}(
.*^I.{0,56}\S+).*/$1...$2/;$V=$T=$p=$q=$s=$z
Two more strokes off, but I've hit another wall.
202.19 Guillermo Sansovic Tue Jun 4 19:40:57 2002
-pa056 sub c{0+s/[aeiouy]/$&/gi.'/'.s/\w//g}@s=map{sprintf"%-3s",$_}@F;$w=c;if($_="@s"){s/(.{57})...+\S/$1.../;@c=map{/.*/;sprintf"%-@{+}s",c}@s[0..-1-/ \./+split];$_=0+@s.":\t$_\n$w:\t@c\n";s/ +$//gm;}
202.21 pom Wed Jun 5 07:28:29 2002
-ap056 $p=$V=$L=0;@C=map{$q=$p;$V+=$v=lc=~y/aeiouy//;$L+=$l=y/0-9A-z//;$p=y///c-split//,$k="$v/$l";$_=$"x-$q.$_;$"x$q.$k}@F;$_="@F";s/(.{57}).{4,}/$1.../;$_=@F.":^I$_
$V/$L:^I@C
"if$#C=-1-/ \W+$/+split,@F
202.22 Eugene van der Pijll Sat Jun 1 13:51:53 2002
-p056 sub t{lc=~y/aeiouy//."/".s/\w/$&/g}$@=$b=$c;$w=split;$b^=(($@.=$_.$")^=($b.=t.$")^$b)^$@for@_;y/\0/ /,s/ +$//for$@,$b;$b=~/.{0,56}\S+/,$b=$&if$@=~s/(.{57}).{4,}/$1.../;$_=$w?"$w:^I$@
".t.":^I$b
":$c
202.28 Stephen Turner Sat Jun 1 22:17:53 2002
-ln00 sub b{lc=~y/aeiouy//.'/'.y/a-zA-Z0-9//}map{split;$_=sprintf('%-3s 'x$#_,@_).$_[-1];$m=b;s/(.{57})...+/$1../;@t=map{A.y///c}/[^ ]+ +(?!\.)/g;print@_.":^I$_.
$m:^I".pack"@t A*",map b,@_}/\s*([^.]+)./g
203.23 Piers Cawley Fri Jun 7 10:08:41 2002
-ap056 sub b{$_=lc;y/aeiouy//."/".y/a-z0-9//}$c=$b=':^I';map{$c.=pack$l=A.(($l=y///c)>3?++$l:4),$_;$b.=pack$l,b}@F;$c=~s/(.{59})...+\S.*/$1.../&&$b=~s/(.{58}\S*).*/$1/;$_=(@F."$c
".b."$b
")x!!@F;s/ *$//mg
203.23 Josef Drexler Thu Jun 6 23:51:45 2002
-an056 sub c{()=/@_/gi}$v=$t=0;@Q=map{$v+=$V=c"[aeiouy]";$t+=$T=c"\\w";$_.=$"x(3- c$/);pack A.c($/),"$V/$T"}@F;s/ *$//,s/(.{57}).{4,}/$1.../,$Q[$#Q=c" [^. ]"]=~y/ //d,print~~@F,":^I$_
$v/$t:^I@Q
"if$_="@F"
ever closer to the 200 barrier...
203.25 Yanick Champoux Thu Jun 6 23:12:27 2002
-p056 sub
t{map
y/aeiyou//.'/'.s/\w//g,lc
pop}@q=map$_.$"x(3-
y///c),split;@w=t$_="@q";s/ +$//;s/(.{57})....+/$1.../;@a=/\w\S*/g;$_&&=@q.":^I$_
@w:^I@{[map{sprintf'%-'.y///c.'s',t$_}@q[0..$#a]]}
";s/ *$//g
I just *know* this can be improved (sic). But how, HOW?
203.29 Marko Nippula Tue Jun 4 09:58:08 2002
-ap056 if((@X=map{sprintf"%-3s",$_}@F),($_="@X")){@G=map{sprintf"%-".y///c."s",y/aeiouyAEIOUY//."/".s/\w/$&/g}$_,@X;s/(.{57})...+\S.*/$1.../g;$#G=split/\s+|\./;$_=($x=@X)." $_\xd6@G\xd6";s/\s+(.*?) *\xd6/:^I$1
/g}
203.32 Amir Karger Fri Jun 7 04:15:07 2002
-pa056 sub g{y/aeiouyAEIOUY//."/".s/\w/$&/g}sub l{formline"`$f
",@_}(@r=map{$f.="@"."<"x length($_|$:);g}@F)?l@F:exit;$f=~/.{57}<*/,$f=$&if$^A=~s/(.{58})....+/$1.../;$^A=@F.$^A.g;l@r;$_=$^A;s/`/:^I/g;$f=$^A=""
Sigh. My exciting new algorithm doesn't work. Back to the drawing board...
203.33 Juho Snellman Thu Jun 6 04:11:50 2002
-p056 @d=map{$v+=@y=/[aeiouy]/ig;$a+=@o=/\w/g;$"x
y...c|@y.'/'.@o}@w=map{sprintf'%-3s',$_}/\S*\w\S*/ig;
(s/ +$//,s/(.{57}).{4,}/$1.../,$_=@d.":^I$_
$v/$a:^I@d[0..(@_=/ +[^.]/g)]
",s/ +$//)if$_="@w";$v=$a=a
-p rocks
204.17 Michael Thelen Thu Jun 6 02:54:06 2002
-ap056 $V=$T=$p=$q=$s=$Z;$V+=@v=/[aeiouy]/ig,$T+=@t=/\w/g,$q.=$"x($x=$p=~y///c-length$q).$s.@v.'/'.@t,$p.=$"x-$x.$s.$_,$s=$"for@F;$_=(@F||last).":^I$p
$V/$T:^I$q
";s/(^I.{57}).{4,}(
.*^I.{0,56}\S+).*/$1...$2/
A breakthrough for 8 strokes! Clear vision is a small price to pay for such joy. I need to get rid of $V=$T=...=$Z; though. If only I could see how...
204.22 Prakash Kailasa Fri Jun 7 17:27:01 2002
-ap056 $V=$T=0;@G=map{$V+=$v=y/aeiouy//,$T+=$t=s/\w/$&/g;sprintf"%-*s",y///c,"$v/$t"}map{$_=/\.$|...+/?$_:pack'A3',$_;lc}@F;$_="@F",s/(.{57})....+/$1.../;$_=@F.":^I$_
$V/$T:^I@G[0..$#H]
"if@H=/\w+/g;s/ +$//
204.26 Bruce Gray Fri Jun 7 23:34:16 2002
-na056 $c=@F;@n=map$s.$"x(y///c-length($s=$u=y/aeiouy//.'/'.y/a-z0-9//)),map{$_.=$"x(3-length);lc}@F,$_;$_="@F";s/ $//;s/(.{57})....+/$1/and$#n=(split),$_.=$/x3;$#n--;$_="$c:^I$_
$u:^I@n
";s/ +$//;$c&&print
change map block to map expr, removed space after 'map'
204.32 Amir Karger Fri Jun 7 03:09:09 2002
-pa056 sub g{y/aeiouyAEIOUY//."/".s/\w/$&/g}sub l{formline"`$f
",@_}(@r=map{$f.="@"."<"x length($_|$:);g}@F)?l@F:exit;$f=~/.{57}<*/,$f=$&if$^A=~s/(.{58})....+/$1.../;$^A=@F.$^A.g;l@r;$_=$^A;s/`/:^I/gm;$f=$^A=""
Algorithmic breakthrough? With formline?! Stay tuned. I'm not sure the paste worked, by the way. I'm seeing boxes on my IE screen that are supposed to be ctrl-A's, as in $ACCUMULATOR. And the thing before "/gm" at the end is a tab.
205.19 Andrew Savige Tue Jun 4 08:05:59 2002
-an056 @n=map{$t+=($s+=@q=/\w/g,
$_.=$"x(3-($l=y)))c)),
$z=lc=~y)aeiouy)).v47.@q);
$z,$".$"x($l-length$z)}@F;
s, $,,,s@(.{57}).{4,}@$1...@,print@F.":^I$_
$t/$s:^I",@n[0..-2+2*split/[. ]+/],$s=$t="
"if$_="@F"
In tpr01, I aimed for 5 strokes from the leader; in tpr02 (won by our esteemed chief referee), I aimed for 10 strokes from the leader; in tpr03, I aimed for 20 strokes from the leader; and in tpr04 I am aiming for 40 strokes from the leader. :-( Breaking 200 is enough for me in this game (unless `/anick sneaks ahead of me, of course ;).
205.20 Eugene van der Pijll Sat Jun 1 09:39:38 2002
-p056 sub t{lc=~y/aeiouy//."/".s/\w/$&/g}$w=split;$b^=(($@.=$_.$")^=($b.=t.$")^$b)^$@for@_;y/\0/ /,s/ +$//for$@,$b;$@=~s/(.{57}).{4,}/$1.../&&$b=~s/^(.{0,56}\S+).*/$1/;$_=$w?"$w:^I$@
".t.":^I$b
":$c;$@=$b=$c
205.22 Sec Fri Jun 7 17:00:57 2002
-ap056 sub p{(()=/[aeiouy]/ig)."/".s/\w/$&/g}$_=join$"x3,@F;s/(...\S*) +/$1 /g;$s=p;$l="@{[map{sprintf'%-*s',length,p}@F]}";$l=~s/(.{56}\S*).*/$1/ if s/(.{57}).{4,}/$1.../;$_=@F.":^I$_
$s:^I$l
"if@F;s/ +$//;
Completely new approach, My first eye pop()d half an hour ago. :)
205.26 Bruce Gray Fri Jun 7 23:10:22 2002
-na056 $c=@F;@n=map{$s.$"x(y///c-length($s=$u=y/aeiouy//.'/'.y/a-z0-9//))}map{$_.=$"x(3-length);lc}@F,$_;$_="@F";s/ $//;s/(.{57})....+/$1/and$#n=(split),$_.=$/x3;$#n--;$_="$c:^I$_
$u:^I@n
";s/ +$//;$c&&print
Only one extra space possible on last word in sentence, so s/ +$// becomes s/ $//
205.36 Alexander Onokhov Thu Jun 6 16:57:05 2002
-ap056 ($x,@D)=map y/aeiouyAEIOUY//.'/'.s/\w/$&/g,$_,@F;$_=join$",map$_.$"x(3-length),@F;s/ $//;s/(.{57})....+/$1.../;$_=$^A="^I$_" if@F;s/(\s)[^ .]/$1@/g;s/[^@^I]/</g;formline"
$x:$_<
",@D;$_=@F.":$^A" if@F
206.19 Guillermo Sansovic Tue Jun 4 19:15:04 2002
-pa056 sub c{0+s/[aeiouy]/$&/gi.'/'.s/\w//g}@s=map{sprintf("%-3s",$_)}@F;$w=c;if($_="@s"){s/(.{57})...+\S/$1.../;@c=map{/.*/;sprintf("%-@{+}s",c)}@s[0..-1-/ \./+split];$_=0+@s.":\t$_\n$w:\t@c\n";s/ +$//gm;}
206.21 Michiel van Leeuwen Wed Jun 5 19:10:03 2002
-anp056 $p=$q=0;$_="@F";map{$_=lc;$p+=$c=y/aeiouy//;$q+=$d=s/\w/ /g;y// /c;$_|="$c/$d"}@F;$g="@F";s/\S+ /$&|"\0"x4/ge;y/\0/ /;s/(.{57}).{4,}/$1.../&&$g=~s/(.{56}) +.*/$1/;$_=@F.":^I$_
$p/$q:^I$g
"if$q;s/ +$//
206.26 Yanick Champoux Thu Jun 6 15:09:40 2002
-p056 sub
t{map
y/aeiyou//.'/'.s/\w//g,lc
pop}@q=map$_.$"x(3-
y///c),split;@w=t$_="@q";s/ +$//;s/(.{57})....+/$1.../;@a=/\w\S*/g;"@{[map{sprintf'%-'.y///c.'s',t$_}@q[0..$#a]]}"=~/ *$/;$_&&=@q.":^I$_
@w:^I$`
"
Hoping that the copy'n'paste will work, this time...
206.26 Keith Calvert Ivey Sun Jun 2 00:33:31 2002
-pa056 sub c{lc=~y/aeiouy//.'/'.y/A-Za-z0-9//}$_.=$"x(3-length)for@F;$p=c;$_="@F";$f=$/x3x s/(.{57})...+\S.*/$1/;$t=@F.":^I$_$f
$p:^I";$r=join'',map A.y///c,/\S+\s*/gand$_=$t.(pack$r.9,map c,@F).'
',s/ +$//gm
206.26 Bruce Gray Fri Jun 7 22:47:46 2002
-na056 $c=@F;@n=map{$s.$"x(y///c-length($s=$u=y/aeiouy//.'/'.y/a-z0-9//))}map{$_.=$"x(3-length);lc}@F,$_;$_="@F";s/ +$//;s/(.{57})....+/$1/and$#n=(split),$_.=$/x3;$#n--;$_="$c:^I$_
$u:^I@n
";s/ +$//;$c&&print
Combined length($s) with the calculation of $s. Removed ;;
206.30 Amir Karger Fri Jun 7 02:47:23 2002
-pa056 sub g{y/aeiouyAEIOUY//."/".s/\w/$&/g}sub p{sprintf"%-*s",(1+length($_|$:))*!/\./,@_}$x=$"="";(map{$x.=p$_;$_=p g}@F)?$x=~s/(.{57})....+/$1.../:exit;$_=@F.":^I$x
".g.":^I@F[0..$x=~s/ +[^.]//g]
";s/ +$//
I guess it's cheating that I've held back my s/\n/ /g etc. but it made my program much easier to develop, and I knew most of those changes weren't going to get me too far in the long run.
207.25 Chris Dolan Fri Jun 7 12:39:50 2002
-056pa @v=map{$V+=$v=y/aeiouyAEIOUY//."/".(@n=/\w/g);$N+=@n;$v.$"x(length($_.=$"x(3-length))-length$v)}@F;$_="@F";s/ *$//;s/(.{57})....+/$1.../;$#v=s/\w+/$&/g-1;$_=/\./&&@F.":^I$_
$V/$N:^I@v
";$V=$N=!s/\s+$/
/
A little better
207.32 Piers Cawley Fri Jun 7 09:47:57 2002
-an056 sub a{$_=lc;y/aeiouy//."/".y/a-z0-9//}$a=$b=':^I';for(@F){$a.=pack$l=A.(($l=y///c)>3?++$l:4),$_;$b.=pack$l,a}$a=~s/(.{59})...+\S.*/$1.../&&$b=~s/(.{58}\S*).*/$1/;$_=@F."$a
".a."$b
";s/ *$//mg;@F&&print
Oops. this time fer sure.
207.32 Piers Cawley Fri Jun 7 09:47:58 2002
-an056 sub a{$_=lc;y/aeiouy//."/".y/a-z0-9//}$a=$b=':^I';for(@F){$a.=pack$l=A.(($l=y///c)>3?++$l:4),$_;$b.=pack$l,a}$a=~s/(.{59})...+\S.*/$1.../&&$b=~s/(.{58}\S*).*/$1/;$_=@F."$a
".a."$b
";s/ *$//mg;@F&&print
Oops. this time fer sure.
208.20 Andrew Savige Tue Jun 4 07:03:59 2002
-an056 @n=map{$t+=($s+=$c=s)\w)$&)g,
$_.=$"x(3-($l=y)))c)),
$z=lc=~y)aeiouy))."/$c");
$z,$".$"x($l-length$z)}@F;
s, $,,,s@(.{57}).{4,}@$1...@,print@F.":^I$_
$t/$s:^I",@n[0..-2+2*split/[. ]+/],$s=$t="
"if$_="@F"
Most pornographic books are cleaner than this program. I can see a dieting `/anick looming in my rear-view mirror and I am quaking with fear.
208.21 Benoît Chauvet Thu Jun 6 08:36:38 2002
-n056a sub p{@{[/[ouyaie]/gi]}."/".s/\w/$&/g}@v=map{57>shift@z||$z<62and$"x length|p}grep{/\./ or$_|="\0  ";push@z,$z++;$z+=length}@F;$p=p$_="@F";s/(.{57})....+/$1.../;$_=@F.":^I$_
$p:^I@v
";s/ +$//;$z&&=!print
Got you, Yannick ! ;)
208.23 Keith Calvert Ivey Sat Jun 1 21:24:46 2002
-pa056 sub c{lc=~y/aeiouy//.'/'.y/A-Za-z0-9//}$_.=$"x(3-length)for@F;$p=c;$_="@F";$f=$/x3x s/(.{57})...+\S.*/$1/;$t=@F.":^I$_$f
$p:^I";s/\S+ */'%-'.(length$&).'s'/geand($_=$t.(sprintf$_,map c,@F).'
'),s/ +$//gm
208.26 Bruce Gray Fri Jun 7 22:30:27 2002
-na056 $c=@F;@n=map{$s=$u=y/aeiouy//.'/'.y/a-z0-9//;$s.$"x(y///c-length$s)}map{$_.=$"x(3-length);lc}@F,$_;$_="@F";s/ +$//;;s/(.{57})....+/$1/and$#n=(split),$_.=$/x3;$#n--;$_="$c:^I$_
$u:^I@n
";s/ +$//;$c&&print
Saved 5 strokes by moving @n adjustments from a 'for@n' loop to map side-effects.
209.16 Mtv Europe Sat Jun 1 20:32:15 2002
-ap056 sub B{(@Q=/[aeiouy]/ig).v47.(@Q=/\w/g)}$B=$Z=':^I';$Z^=($C=($Z^$B).$B=~/\//&v0 x99).$_,$B^=$C.B for@F;pos$B=59;$Z=~s/(.{59})....+/$1.../&&$B=~s/\0+\G.*|\G([^\0]+).*/$1/;$_=@F?@F."$Z
".B."$B
":'';s/\0/ /g
and finally i've reach the place where Ton starts
209.32 Juho Snellman Thu Jun 6 03:59:41 2002
-n056 @d=map{$v+=@y=/[aeiouy]/ig;$a+=@o=/\w/g;$"x
y...c|@y.'/'.@o}@w=map{sprintf'%-3s',$_}/\S*\w\S*/ig;
(s/ +$//,s/(.{57}).{4,}/$1.../,$_=@d.":^I$_
$v/$a:^I@d[0..(@_=/ +[^.]/g)]
",s/ +$//,print)if$_="@w";$v=$a=a
Now passes the 1.04 tests. Also reorganized the conditional, and changed a \s into a space.
210.22 Keith Calvert Ivey Sat Jun 1 18:55:57 2002
-pa056 sub c{lc=~y/aeiouy//.'/'.y/A-Za-z0-9//}$_.=$"x(3-length)for@F;$p=c;$_="@F";$f=$/x3x s/(.{57})...+\S.*/$1/;$t=@F.":^I$_$f
$p:^I";s/\S+ */'%-'.(length$&).'s'/ge;$t.=sprintf$_,map c,@F;$_="$t
"x!!@F;s/ +$//gm
211.16 Mtv Europe Sat Jun 1 20:23:58 2002
-ap056 sub B{(@Q=/[aeiouy]/ig).v47.(@Q=/\w/g)}$B=$Z=':^I';$Z^=($C=($Z^$B).($B=~/\//)&v0 x99).$_,$B^=$C.B for@F;pos$B=59;$Z=~s/(.{59})....+/$1.../&&$B=~s/\0+\G.*|\G([^\0]+).*/$1/;$_=@F?@F."$Z
".B."$B
":'';s/\0/ /g
211.21 Michiel van Leeuwen Tue Jun 4 22:09:49 2002
-anp056 $p=$q=0;$_="@F";map{$_=lc;$p+=$c=y/aeiouy//;$q+=$d=s/\w/ /g;y// /c;$_|="$c/$d"}@F;$g="@F";s/\S+ /$&|"\0"x4/ge;y/\0/ /;s/(.{57}).{4,}/$1.../&&$g=~s/(.{56}) +.*/$1/;$g=~s/ +$//;$_=@F.":^I$_
$p/$q:^I$g
"if/./
Slowly getting better now.
211.25 Chris Dolan Thu Jun 6 08:58:22 2002
-056pa @v=map{$V+=$v=y/aeiouyAEIOUY//."/".(@n=/\w/g);$N+=@n;$v.$"x(length($_.=$"x(3-length))-length$v)}@F;$_="@F";s/ *$//;s/(.{57})....+/$1.../&&($#v=@x=/\w\S+/g)--;$_=/\./&&@F.":^I$_
$V/$N:^I@v
";$V=$N=!s/\s+$/
/
Passed `/anick! Yippee!
212.17 Michael Thelen Thu Jun 6 01:46:51 2002
-ap056 $V=$T=$p=$q=$s=$Z;$V+=@v=/[aeiouy]/ig,$T+=@t=/\w/g,$q.=$"x($x=$p=~y///c-length$q).$s.@v.'/'.@t,$p.=$"x-$x.$s.$_,$s=$"for@F;$p=~s/(.{57}).{4,}/$1.../and($q)=$q=~/.{0,56}\S+/g;$_=(@F||last).":^I$p
$V/$T:^I$q
"
Removed unnecessary duplication of @F. My brain hurts! I've hit a wall.
212.20 Josef Drexler Thu Jun 6 22:22:52 2002
-an056 sub c{()=/@_/gi}$v=$t=0;@Q=map{$v+=$V=c"[aeiouy]";$t+=$T=c"\\w";$_.=$"x(3- c$/);sprintf"%-*s",~~c($/),"$V/$T"}@F;s/ *$//,s/(.{57}).{4,}/$1.../,$Q[$#Q=c" [^. ]"]=~y/ //d,print~~@F,":^I$_
$v/$t:^I@Q
"if$_="@F"
212.22 Keith Calvert Ivey Sat Jun 1 17:24:33 2002
-pa056 sub c{lc=~y/aeiouy//.'/'.y/A-Za-z0-9//}$_.=$"x(3-length)for@F;$s="@F";$f=$/x($s=~s/(.{57})...+\S.*/$1/*3);$t=@F.":^I$s$f
".c.":^I";for(@F){$s=~/\S+/g||last;$t.=c.$"x(1+y///c-length c)}$_="$t
"x!!@F;s/ +$//gm
212.22 pom Mon Jun 3 14:18:31 2002
-n056 $p=$V=$L=my@C;$_=join$",map{$q=$p;$V+=$v=lc=~y/aeiouy//;$L+=$l=y/0-9A-z//;$p=y///c-length($k="$v/$l");push@C,$"x$q.$k;$"x-$q.$_}split;s/(.{57})....+/$1.../;@C&&print@C.":^I$_
$V/$L:^I@C[0..-1-/ \W+$/+split]
"
212.24 Yanick Champoux Wed Jun 5 03:11:38 2002
-p056 sub
t{map
y/aeiyou//.'/'.s/\w//g,lc
pop}@q=map$_.$"x(3-
y///c),split;@w=t$_="@q";s/ +$//,s/(.{57})....+/$1.../,$x=@a=/\w\S*/g;"@{[map{sprintf'%-'.y///c.'s',t$_}@q]}"=~/(.*?\/\d+){$x}/;$_&&=@q.":^I$_
@w:^I$&
"
You watch a movie about giant killing spiders, you go to bed, and hop! you think of an easy way to shave two more strokes.
212.26 Keith Calvert Ivey Sat Jun 1 21:15:08 2002
-pa056 sub c{lc=~y/aeiouy//.'/'.y/A-Za-z0-9//}$_.=$"x(3-length)for@F;$p=c;$_="@F";$f=$/x3x s/(.{57})...+\S.*/$1/;$t=@F.":^I$_$f
$p:^I";s/(^| )\S/$1@/g;y/@/</c&&do{formline"$_<<<<
",map c,@F;($_,$^A)=$t.$^A;s/ +$//gm}
It's not quite as short as my current best, but I thought it was interesting to use formats, which I've never done before. (The weird characters are control-A's.)
212.27 Bret Victor Wed Jun 5 02:57:47 2002
-an056 reset"V-Z";@Z=map{$V+=$v=y/aeiouyAEIOUY//;$W+=$l=s/[^\W_]/$&/g;$_.=' 'x(3-length)if++$X<@F;y///c,"$v/$l"}@F;$_="@F";s/(.{57})....+/$1.../;$Z.="%-*s "for/ [^ .]/g;@F&&printf"%s$Z%n%s
","$X:\t$_
$V/$W:\t",@Z
212.31 Juho Snellman Thu Jun 6 03:22:02 2002
-n056 if(@d=map{$v+=@y=/[aeiouy]/ig;$a+=@o=/\w/g;$"x y...c|@y.'/'.@o}
@w=map{sprintf"%-3s",$_}/\S*\w\S*/ig){$_="@w";s/ +$//;s/(.{57}).{4,}/$1.../;
$_=@d.":^I$_
$v/$a:^I@d[0..(@_=/\s+[^.]/g)]
";s/ +$//;print}$v=$a=a
Better accumulator ($v, $a) initialization, hard tabs.
213.15 Mtv Europe Sat Jun 1 20:19:03 2002
-ap056 sub B{(@Q=/[aeiouy]/ig).v47.(@Q=/\w/g)}$B=$Z=v58;$Z^=($C=($Z^$B).b&v0 x99).$_,$B^=$C.B for@F;s/\0/ /g,s/ /^I/for$B,$Z;pos$B=59;$Z=~s/(.{59})....+/$1.../&&$B=~s/\s+\G.*|\G(\S+).*/$1/;$_=@F?@F."$Z
".B."$B
":''
213.17 Michael Thelen Wed Jun 5 17:59:31 2002
-ap056 @F||last;$V=$T=$p=$q=$s='';$V+=@v=/[aeiouy]/ig,$T+=@t=/\w/g,$q.=$"x($x=$p=~y///c-length$q).$s.@v.'/'.@t,$p.=$"x-$x.$s.$_,$s=$"for@F;$p=~s/(.{57}).{4,}/$1.../and($q)=$q=~/.{0,56}\S+/g;$_=@F.":^I$p
$V/$T:^I$q
"
Escaping a '/' character in a double-quoted string. Sheesh! Must have been left over from a regex try.
213.25 Stephen Turner Sat Jun 1 20:11:32 2002
-lX00 sub b{lc=~y/aeiouy//.'/'.y/a-zA-Z0-9//}map{@r=/\S+/g;$_=sprintf('%-3s 'x$#r,@r).$r[-1];$m=b;s/(.{57})...+/$1../;@t=map{A.length}/[^ ]+ +(?!\.)/g;print@r.":^I$_.
$m:^I".pack"@t A*",map b,@r}map/\s*([^.]+)./g,<>
213.25 Bruce Gray Fri Jun 7 22:14:26 2002
-na056 $c=@F;$_.=$"x(3-length)for@F[0..@F-2];@n=map{$s=$u=y/aeiouy//.'/'.y/a-z0-9//;$s.$"x(y///c-length$s)}map lc,@F,$_;$_="@F";s/(.{57})....+/$1/and$#n=(split),$_.=$/x3;$#n--;$_="$c:^I$_
$u:^I@n
";s/ +$//;$c&&print
Removed = from the final statement in the map block.
213.33 Piers Cawley Fri Jun 7 09:04:54 2002
-an056 sub a{$_=lc;y/aeiouy//."/".y/a-z0-9//}$a=$b=':^I';for(@F){$l=($l=y///c)>3?++$l:4;$a.=pack"A$l",$_;$b.=pack"A$l",a}$a=~s/(.{59})...+\S.*/$1.../&&$b=~s/(.{58}\S*).*/$1/;$_=+@F."$a
".a."$b
";s/ *$//mg;@F&&print
There's obviously a better way. But what?
214.17 Michael Thelen Wed Jun 5 06:17:18 2002
-ap056 @F||last;$V=$T=$p=$q=$s='';$V+=@v=/[aeiouy]/ig,$T+=@t=/\w/g,$q.=$"x($x=$p=~y///c-length$q).$s.@v.'/'.@t,$p.=$"x-$x.$s.$_,$s=$"for@F;$p=~s/(.{57}).{4,}/$1.../and($q)=$q=~/.{0,56}\S+/g;$_=@F.":^I$p
$V\/$T:^I$q
"
Tried a new algorithm that hasn't panned out so far, then came back to this old standby. More stroke shaving, nothing spectacular. Yet. :-)
214.21 seano Thu Jun 6 01:22:02 2002
$/=$*;map{($g,@v,$n)=map{map y/aeiouy//.'/'.s/\w//g,lc}$_,/\S+/g;s/\s*(\S+)\s+/"$1 "|"\0   "/eg;s/(.{57}).{3,}/$1../;$x=$_;s/[^ .]+ */$v[$n++]|$"x length$&/eg;s/\D*$//;@v&&print@v.":\t$x.\n$g:\t$`\n"}split/\.\W/,<>
a few more (or less)...
214.24 Rick Klement Sat Jun 1 16:04:44 2002
-0p sub c{lc=~y/aeiouy//.'/'.y/a-zA-Z0-9//}map{$n=split;@c=map{c|$"x y///c}map$_.=$"x(3-length),@_;s/ *$/./,s/(.{57}).{4,}/$1.../&&($#c=-1+split' ',$1)for$t="@_";$\.="$n:^I$t
".c.":^I@c
"}/(\S.*?)\./sg}{$\=~s/ +$//mg
more tabbing practice :)
214.24 Yanick Champoux Tue Jun 4 23:40:48 2002
-p056 sub
t{map
y/aeiyou//.'/'.s/\w//g,lc
pop}@q=map$_.$"x(3-
y///c),split;@w=t$_="@q";s/ +$//,s/(.{57})....+/$1.../,$x=@a=/\w\S*/g;"@{[map{sprintf'%-'.y///c.'s',t$_}@q]}"=~/( *\d+\/\d+){$x}/;$_&&=@q.":^I$_
@w:^I$&
"
Okay, enough for tonight.
214.25 Bruce Gray Fri Jun 7 01:08:11 2002
-na056 $c=@F;$_.=$"x(3-length)for@F[0..@F-2];@n=map{$s=$u=y/aeiouy//.'/'.y/a-z0-9//;$s.=$"x(y///c-length$s)}map lc,@F,$_;$_="@F";s/(.{57})....+/$1/and$#n=(split),$_.=$/x3;$#n--;$_="$c:^I$_
$u:^I@n
";s/ +$//;$c&&print
215.16 Mtv Europe Sat Jun 1 20:00:39 2002
-ap056 sub B{(@Q=/[aeiouy]/ig).v47.(@Q=/\w/g)}$B=$Z=':^I';$Z^=v0 x(($C=length($Z^$B))+=$C>2).$_,$B^=v0 x$C.B for@F;pos$B=59;$Z=~s/(.{59})....+/$1.../&&$B=~s/\0+\G.*|\G([^\0]+).*/$1/;$_=@F?@F."$Z
".B."$B
":'';s/\0/ /g
looks like i think better after i post solution, sorry referees
215.19 Andrew Savige Tue Jun 4 02:21:53 2002
-ap056 $t=$s=$g=v9;
@n=map{$t+=$v=lc=~y;aeiouy;;;$s+=$c=s;\w;$&;g;
$_.=$"x(3-($l=y)))c));
$g.($z="$v/$c").""x($g=$"x($l-length$z))}@F;
s, $,,,s,(.{57})....+,$1...,,$_=@F.":^I$_
$t/$s:@n[0..-1+split/[. ]+/]
"if$_="@F"
Stephen Turner is right; even the tiniest of hints can make a vast difference in a golf game. Three nano-seconds after Amir asked for the underscore clarification, I changed [^_\W] to \w, saving 4 strokes. Thanks Amir! :) I did (and still do) plan to study the rules with a fine-tooth comb tonight, so I probably would have found this one anyway at that time.
215.21 Keith Calvert Ivey Sat Jun 1 16:54:05 2002
-pa056 sub c{lc=~y/aeiouy//.'/'.y/A-Za-z0-9//}$p=c;$_.=$"x(3-length)for@F;($s,$t)="@F";$f=$/x($s=~s/(.{57})...+\S.*/$1/*3);for(@F){$s=~/\S+/g||last;$t.=c.$"x(1+y///c-length c)}$_=(@F.":^I$s$f
$p:^I$t
")x!!@F;s/ +$//gm
215.22 pom Mon Jun 3 13:33:14 2002
-n056 $p=$V=$L=my@C;$_=join$",map{$q=$p;$V+=$v=lc=~y/aeiouy//;$L+=$l=y/0-9A-z//;$p=y///c-length($k="$v/$l");push@C,$"x$q.$k;$"x-$q.$_}@s=split;s/(.{57})....+/$1.../;@s&&print@s.":^I$_
$V/$L:^I@C[0..-1-/ \W+$/+split]
"
215.24 David Lowe Thu Jun 6 17:03:34 2002
-na sub
g{y///c}sub
f{lc=~y#aeiouy##.'/'.y# -/:-@##c}map{$m=/\./?0:g>3?g:3;push@{--$|},$_.$"x($m-
g)for$_,f;if(/\./){$_="@1";$_=@0.":\t$_
".f.":\t@0
";@0=@1=();s/(\t.{57})....+(\n.+\t.{0,56}\S+).*/$1...$2/;print}}@F
.02
215.26 David Lowe Thu Jun 6 16:46:33 2002
-na sub
f{lc=~y#aeiouy##.'/'.y# -/:-@##c}map{$m=/\./?0:y###c>3?y###c:3;push@{--$|},$_.$"x($m- y###c)for$_,f;if(/\./){$_="@1";$_=@0.":\t$_
".f.":\t@0
";@0=@1=();s/(\t.{57})....+(\n.+\t.{0,56}\S+).*/$1...$2/;print}}@F
215.28 Amir Karger Thu Jun 6 04:46:46 2002
-pa056 sub g{y/aeiouyAEIOUY//."/".s/\w/$&/g}
sub p{sprintf"%-*s",(1+length($_|$:))*!/\./,@_}
$x=$"="";
(map{$x.=p$_;$_=p g}@F)?$x=~s/(.{57})....+/$1.../:exit;
$_=@F.":\t$x\n".g.":\t@F[0..$x=~s/ +[^.]//g]\n";
s/ +$//
Argh! Figured out I could edit the first line to get the second line, and I was sure that it would get me ten characters. But it's stuck at 237 now. Which puts me in eye-popping single-character territory.
216.26 Chris Dolan Thu Jun 6 08:31:24 2002
-056na @v=map{$V+=$v=y/aeiouyAEIOUY//."/".(@n=/\w/g);$N+=@n;$v.$"x(length($_.=$"x(3-length))-length$v)}@F;$_="@F";s/ *$//;s/(.{57})....+/$1.../&&($#v=@x=/\w\S+/g)--;$_=@F.":^I$_
$V/$N:^I@v";s/ *$/
/;$V=$N=!print if/\./
Minor improvement
217.20 Guillermo Sansovic Tue Jun 4 18:50:21 2002
-na056 sub c{0+s/[aeiouy]/$&/gi.'/'.s/\w//g}sub p{s/ +$//;print"@_:\t$_\n"}@s=map{sprintf("%-3s",$_)}@F;$w=c;if($_="@s"){s/(.{57})...+\S/$1.../;@c=map{/.*/;sprintf("%-@{+}s",c)}@s[0..-1-/ \./+split];p~~@s;$_="@c";p$w}
217.21 Jay Tilton Thu Jun 6 03:23:19 2002
-ap056 sub c{$_=lc;y/aeiouy//.'/'.y/a-z0-9//}my($w,$x);($d=length($w.=$_.$")-length($x.=c.$"))>0?$x:$w.=$"x abs$d for@F;$w=~s/(.{57})..[^.]..+/$1.../&&$x=~s/(.{56}) .*/$1/;$_=($v=@F)?"$v:\t$w
${\c}:\t$x
":'';s/ +$//mg
I don't hate this hole as much as I did this afternoon. I think it's time for a whole new approach, as not much more can be wrung out of this one.
217.22 Mtv Europe Sat Jun 1 17:57:54 2002
-ap056 sub B{1*s/[aeiouy]/$&/ig.'/'.1*s/\w/$&/g}$B=$A=':^I';$A^=v0 x(($C=length($A^$B))+=$C>2).$_,$B^=v0 x$C.B for@F;pos$B=59;$A=~s/(.{59})....+/$1.../&&$B=~s/\0+\G.*|\G([^\0]+).*/$1/;$_=@F?@F."$A
".B."$B
":'';s/\0/ /g
217.22 Prakash Kailasa Thu Jun 6 23:25:41 2002
-lan056 $_="@F",s/(.{57})...+/$1../,@_=/\w+/g,$_="$n:^I$_.
$V/$T:^I@G[0..$#_]",s/ +$//,print if$T=0,$V=$n=@F,@G=map{$V+=$v=y/aeiouy//,$T+=$t=s/\w/$&/g;sprintf"%-*s",y///c,"$v/$t"}map{$_=!--$V|/...+/?$_:pack'A3',$_;lc}@F
217.23 seano Thu Jun 6 01:07:40 2002
$/=$*;map{($g,@v,$n)=map{map y/aeiouy//.'/'.y/a-z0-9//,lc}$_,/\S+/g;s/\s*(\S+)\s+/"$1 "|"\0   "/eg;s/(.{57}).{3,}/$1../;$x=$_;s/[^ .]+ */$v[$n++]|$"x length$&/eg;s/\D*$//;@v&&print@v.":\t$x.\n$g:\t$`\n"}split/\.\W/,<>
Alright. Back to the tweaking game. Luckily the tests aren't completely thorough...
217.25 Yanick Champoux Tue Jun 4 22:37:11 2002
-p056 sub
t{map
y/aeiyou//.'/'.(@a=/\w/g),lc
pop}@q=map$_.$"x(3-
y///c),split;@w=t$_="@q";s/ +$//,s/(.{57})....+/$1.../,$x=@a=/\w\S*/g;"@{[map{sprintf'%-'.y///c.'s',t$_}@q]}"=~/( *\d+\/\d+){$x}/;$_&&=@q.":^I$_
@w:^I$&
"
yes. hurt me more.
217.25 Chris Dolan Thu Jun 6 08:12:27 2002
-056na @v=map{$V+=$v=y/aeiouyAEIOUY//."/".(@n=/\w/g);$N+=@n;$v.$"x(length($_.=$"x(3-length))-length$v)}@F;$_="@F";s/ *$//;s/(.{57})....+/$1.../&&($#v=s/\w\S+/$&/g-1);$_=@F.":^I$_
$V/$N:^I@v";s/ *$/
/;$V=$N=!print if/\./
Ahh, remembered to remove the \t's this time... :-)
217.25 Bruce Gray Fri Jun 7 00:58:50 2002
-na056 $c=@F;$_.=$"x(3-length)for@F[0..@F-2];@n=map{$s=$u=y/aeiouy//.'/'.y/a-z0-9//;$s.=$"x(y///c-length$s)}map lc,@F,$_;$_="@F";s/(.{57})....+/$1/and$#n=(split)-1,$_.=$/x3or$#n--;$_="$c:^I$_
$u:^I@n
";s/ +$//;$c&&print
formline was a red herring, switching to s///&&chained_code.
217.28 Amir Karger Wed Jun 5 12:31:39 2002
-pa056 sub g{y/aeiouyAEIOUY//."/".s/\w/$&/g}
sub p{sprintf"%-*s",(1+length($_|$:))*!/\.$/,pop}
$x=$"="";
(map{$x.=p$_;$_=p g}@F)?$x=~s/(.{57})....+/$1.../:exit;
$_=@F.":\t$x\n".g.":\t@F[0..$x=~s/ +[^.]//g]\n";
s/ +$//
Hooray for string bit or!
217.31 Juho Snellman Thu Jun 6 03:09:12 2002
-n056 ($v,$a)=a;if(@d=map{$v+=@y=/[aeiouy]/ig;$a+=@o=/\w/g;$"x y...c|@y."/".@o}
@w=map{sprintf"%-3s",$_}/\S*\w\S*/ig){$_="@w";s/ +$//;s/(.{57}).{4,}/$1.../;
$_=@d.":\t$_
$v/$a:\t@d[0..(@_=/\s+[^.]/g)]
";s/ +$//;print}
FORE! Should be a decent enough first attempt. Tie-breakers completely unoptimized. Could save a few strokes with literal tabs, but I'll save that for later.
218.21 Keith Calvert Ivey Sat Jun 1 15:56:51 2002
-pa056 sub c{lc=~y/aeiouy//.'/'.y/A-Za-z0-9//}$p=c;$_.=$"x(3-length)for@F;($s,$t)="@F";$f=$/x($s=~s/(.{57})...+\S.*/$1/*3);for(@F){$s=~/\S+/g||last;$t.=c.$"x(1+y///c-length c)}$_=@F.":^I$s$f
$p:^I$t
";s/ +$//gm;$_ x=!!@F
219.18 Qingning Huo Fri Jun 7 21:57:45 2002
-n056 $x=$z=$v=$l="";$x=~s/(.{57}).{4,}/$1.../&&$z=~s/ *(?<=.{56}) +.+//,print"$w:^I$x
$v/$l:^I$z
"if$w=map{$z.=$".$"x($0=$x=~y///c-length$z),$x.=$".$"x-$0if$x;$v+=$V=lc=~y/aeiouy//;$x.=$_;$l+=$L=s/\w//g;$z.="$V/$L"}split
219.20 Benoît Chauvet Wed Jun 5 21:32:22 2002
-n056a sub p{@{[/[ouyaie]/gi]}."/".s/\w/$&/g}@v=map{57>shift@z||$z<62and$"x length|p}grep{$_.=!/\./&&$"x(2-/../-/.../);push@z,$z++;$z+=length}@F;$p=p$_=":^I@F";s/(.{59})....+/$1.../;$_=@F."$_
$p:^I@v
";s/ +$//;$z&&=!print
Toooooooo far away from my enemy.. :(
219.20 jacoph Fri Jun 7 04:31:30 2002
-n0 map{$n=0;@w=map{sprintf"%-3s",$_}split;$_="@w";s/ *$/./;s/(?<=.{57}).{4,}/.../;@w&&printf@w.":^I$_
%*s:^I"."%-*s"x($q=grep/[^.]/,split)."
",map{!$n++||!--$q||1+length,(@x=/[aeiouy]/ig).'/'.s/\w//g}"@w",@w}split/\.\s+/
220.17 Honza Pazdziora Fri Jun 7 13:22:44 2002
-056n sub d{lc=~y!aeiouy!!.'/'.s!\w!$&!g}@w=/\S+/g;$"=' 'x60;$_="@w
@{[d]}:^I@{[map{d}@w]}";for$x(0..80){$h=".{$x}) +(.*)";s/^($h(
.*^I$h/$1 $2$3 $4/}s/^(.{57}).{4,}(
.*^I.{56,}? )?.*/$1...$2/;s/\s*$//;print@w+0,":^I$_
"if@w
220.18 Qingning Huo Fri Jun 7 21:40:07 2002
-n056 $x=$z=$v=$l="";$x=~s/(.{57}).{4,}/$1.../&&$z=~s/ *(?<=.{56}) +.+//,print"$w:^I$x
$v/$l:^I$z
"if$w=map{$0=$x=~y///c-length$z,$z.=$".$"x$0,$x.=$".$"x-$0if$x;$v+=$V=lc=~y/aeiouy//;$x.=$_;$l+=$L=s/\w//g;$z.="$V/$L"}split
220.20 Benoît Chauvet Wed Jun 5 08:19:56 2002
-n056a sub p{~~s/[ouyaie]/$&/gi."/".s/\w/$&/g}@v=map{57>shift@z||$z<62and$"x length|p}grep{$_.=!/\./&&$"x(2-/../-/.../);push@z,$z++;$z+=length}@F;$p=p$_="@F";s/(.{57})....+/$1.../;$_=@F.":^I$_
$p:^I@v
";s/ +$//;$z&&=!print
220.21 Prakash Kailasa Thu Jun 6 18:44:15 2002
-lan056 $_="@F",s/(.{57})...+/$1../,@_=/\w+/g,$_="$n:^I$_.
$V/$T:^I@G[0..$#_]",s/ +$//,print if$V=$T=0,$m=$n=@F,@G=map{$V+=$v=y/aeiouy//,$T+=$t=s/\w/$&/g;sprintf"%-*s",y///c,"$v/$t"}map{$_=!--$m|/...+/?$_:pack'A3',$_;lc}@F
yet another little break. still hoping for the big one.
220.23 seano Thu Jun 6 00:46:32 2002
$/=$*;map{($g,@v,$n)=map{map y/aeiouy//.'/'.y/a-z0-9//,lc}$_,/\S+/g;s/\s*?(\S+)\s+/"$1 "|"\0   "/eg;s/(.{57}).{3,}/$1../;$x=$_;s/[^ .]+ */$v[$n++]|$"x length$&/eg;s/[. ]*$//;@v&&print@v.":\t$x.\n$g:\t$`\n"}split/\.\W/,<>
Okay, not exactly revolutionary, but a larger random mutation than the previous few...
220.25 Josef Drexler Thu Jun 6 18:44:26 2002
-an056 sub c{()=/@_/gi}$v=$t=0;@O=map{$v+=$V=c"[aeiouy]";$t+=$T=c '\w|\d';$_.=$"x(3- c$/);sprintf"%-*s",~~c($/),"$V/$T"}@F;$_="@F"||next;s/ *$//;s/(.{57}).{4,}/$1.../;$O[$#O=c" [^. ]"]=~y/ //d;print~~@F,":^I$_
$v/$t:^I@O
"
220.26 David Lowe Thu Jun 6 16:31:15 2002
-na sub
f{lc=~y#aeiouy##.'/'.y# -/:-@##c}map{$m=/\./?0:y###c>3?y###c:3;push@{--$|},$_.$"x($m- y###c)for$_,f;if(/\./){$_="@1";$_=+@0.":\t$_
".f.":\t@0
";s/^(.+\t.{57})....+(\n.+\t.{0,56}\S+).*$/$1...$2/;@0=@1=();print}}@F
220.37 Piers Cawley Thu Jun 6 07:39:30 2002
-ap056 sub a{$_=lc;y/aeiouy//."/".y/a-z0-9//}$_=@F?do{$a=$b='';for(@F){$f=$a=~y///c-$b=~y///c;$a.=' 'x-$f."$_ ";$b.=' 'x$f.a.' ';}$a=~s/(.{57}).{5,}/$1.../&&$b=~s/(.{56}\S*).*/$1/;s/ *$/
/for$a,$b;+@F.":^I$a".a.":^I$b"}:''
Better, but still crap.
221.17 Qingning Huo Thu Jun 6 11:23:22 2002
-n056 $x=$z=$v=$l="";$x=~s/(.{57}).{4,}/$1.../&&$z=~s/ *(?<=.{56}) +.+//,print"$w:^I$x
$v/$l:^I$z
"if$w=map{$0=length($x)-length$z,$z.=$".$"x$0,$x.=$".$"x-$0if$x;$v+=$V=lc=~y/aeiouy//;$x.=$_;$l+=$L=s/\w//g;$z.="$V/$L"}split
221.20 Keith Calvert Ivey Sat Jun 1 15:43:22 2002
-pa056 sub c{lc=~y/aeiouy//.'/'.lc=~y/a-z0-9//}$p=c;$_.=$"x(3-length)for@F;($s,$t)="@F";$f=$/x($s=~s/(.{57}).{3,5}\S.*/$1/*3);for(@F){$s=~/\S+/g||last;$t.=c.$"x(1+y///c-length c)}$_=@F.":^I$s$f
$p:^I$t
";s/ +$//gm;$_ x=!!@F
Never really found a use for -a before, so I'd forgotten about it.
221.26 Bret Victor Tue Jun 4 08:22:35 2002
-an056 reset"V-Z";for(@F){$V+=$v=tr/aeiouyAEIOUY//;$W+=$l=s/[^\W_]/$&/g;push@Z,$t="$v/$l",' '.' 'x($:=y///c-length$t);$_.=' 'x-$:if++$X<@F}$_="@F";s/(.{57})....+/$1.../;$_&&print"$X:\t$_
$V/$W:\t",@Z[0..2*s/ [^ .]//g],"
"
My first perlgolfy thingy ever! Whee!
221.28 Martin Carlsen Tue Jun 4 14:41:53 2002
sub c{y/aeiouyAEIOUY//."/".y/a-zA-Z0-9//}$/='.';map{@c=map{$p=length()-length c;$_.=$"x-$p;c.$"x$p}@w=split;$c=c.":^I@c";$_=@w.":^I@w";s/ *$//;s/(^I.{57})....+/$1.../s&&$c=~s/(^I.{56}\S*).*/$1/;$_.="
$c
";s/ *$//;@w&&print}<>
222.20 Benoît Chauvet Tue Jun 4 16:37:14 2002
-n056a sub p{~~s/[ouyaie]/$&/gi."/".s/\w/$&/g}@v=map$"x length|p,grep{57>shift@z||$z<62}grep{$_.=!/\./&&$"x(2-/../-/.../);push@z,$z++;$z+=length}@F;$p=p$_="@F";s/(.{57})....+/$1.../;$_=@F.":^I$_
$p:^I@v
";s/ +$//;$z&&=!print
This /g was useless after all !!!
223.16 Michael Thelen Tue Jun 4 23:21:53 2002
-ap056 /./||last;$V=$T=$p=$q=$s=$Z;$V+=$v=@v=/[aeiouy]/ig,$T+=$t=@t=/\w/g,$x=$p=~y///c-length$q,$p.=$"x-$x.$s.$_,$q.=$"x$x."$s$v/$t",$s=$"for@F;$p=~s/(.{57}).{4,}/$1.../&&$q=~s/(.{0,56}\S+).*/$1/;$_=$z=@F.":^I$p
$V\/$T:^I$q
"
More shaving. Command line switches are wonderful.
223.17 Qingning Huo Thu Jun 6 11:02:37 2002
-n056 $x=$z=$v=$l="";$x=~s/(.{57}).{4,}/$1.../&&$z=~s/ *(?<=.{56}) +.+//,print"$w:^I$x
$v/$l:^I$z
"if$w=map{$0=length($x)-length$z,$z.=$".$"x$0,$x.=$".$"x-$0if$x;$v+=$V=lc=~y/aeiouy//;$l+=$L=s/\w/$&/g;$x.=$_;$z.="$V/$L"}split
223.20 Benoît Chauvet Tue Jun 4 16:28:56 2002
-n056a sub p{~~s/[ouyaie]/$&/gi."/".s/\w/$&/g}@v=map$"x length|p,grep{57>shift@z||$z<62}grep{$_.=!/\./&&$"x(2-/../-/.../);push@z,$z++;$z+=length}@F;$p=p$_="@F";s/(.{57})....+/$1.../;$_=@F.":^I$_
$p:^I@v
";s/ +$//g;$z&&=!print
Pfff. Such an easy game ! ;)
223.21 Prakash Kailasa Thu Jun 6 18:37:22 2002
-lan056 $_="@F",s/(.{57})...+/$1../,@_=/\w+/g,$_="$n:^I$_.
$V/$T:^I@G[0..$#_]",s/ +$//,print if$V=$T=0,$m=$n=@F,@G=map{$_=lc,$V+=$v=y/aeiouy//,$T+=$t=s/\w/$&/g;sprintf"%-*s",y///c,"$v/$t"}map{$_=!--$m|/...+/?$_:pack'A3',$_}@F
223.21 Michiel van Leeuwen Tue Jun 4 17:28:02 2002
-an056 $p=$q=0;$_="@F";map{$_=lc;$p+=$c=y/aeiouy//;$q+=$d=y/a-z0-9//;y|| |c;$_|="$c/$d"}@F;s/(\S+) /$&." "x(3-length($1))/ge;$g="@F";s/(.{57}).{4,}/$1.../&&$g=~s/(.{56}) +.*/$1/;$g=~s/ +$//;print@F.":\t$_
$p/$q:\t$g
"if/\S/
A little better. A far way to go.
223.22 Mtv Europe Sat Jun 1 17:40:54 2002
-ap056 sub B{1*s/[aeiouy]/$&/ig.'/'.1*s/\w/$&/g}$B=$A=':^I';($A^=v0 x(($C=length($A^$B))+=$C>2)).=$_,($B^=v0 x$C).=B for@F;pos$B=59;$A=~s/(.{59})....+/$1.../&&$B=~s/\0+\G.*|\G([^\0]+).*/$1/;$_=@F?@F."$A
".B."$B
":'';s/\0/ /g
5th place than
223.23 Andrew Savige Mon Jun 3 08:15:17 2002
-ap056 $t=$s=$y=v9;
@n=map{$t+=$v=lc=~y;aeiouy;;;$s+=$c=s;[^_\W];$&;g;
$_.=$"x(3-($l=y)))c));
$y.($z="$v/$c").""x($y=$"x($l-length$z))}@F;
$_="@F";s; +$;;;s;(.{57})....+;$1...;;$_=@F.":^I$_
$t/$s:@n[0..-1+split/[. ]+/]
"if@F
You may be wondering why I am leaving 4 unnecessary newlines. Well, the most satisfying experience in golf, unquestionably, is to come from behind in the last hour to pip the `/anick by a single stroke. You might call me devious, even fiendish, but I want that 4-stroke cushion so that if I am 3 strokes behind `/anick with an hour to go, I can move ahead of him simply by deleting my carefully hoarded newlines.
223.26 David Lowe Thu Jun 6 16:01:03 2002
-na sub f{lc=~y#aeiouy##.'/'.y# -/:-@##c}map{$m=($s=/\./)?0:y###c>3?y###c:3;push@{--$|},$_.$"x($m- y###c)for$_,f;if($s){$_="@1";$_=+@0.":\t$_
".f.":\t@0
";s/^(.+\t.{57})....+(\n.+\t.{0,56}\S+).*$/$1...$2/;@0=@1=();print}}@F
225.18 Honza Pazdziora Fri Jun 7 13:01:27 2002
-056n sub d{lc=~y!aeiouy!!.'/'.s!\w!$&!g}@w=/\S+/g;$"=' 'x60;$_="@w
@{[d]}:^I@{[map{d}@w]}";for$x(0..80){s/^(.{$x}) +(.*)
(.*^I.{$x}) +(.*)/$1 $2
$3 $4/}s/^(.{57}).{4,}/$1.../&&s/(^I.{56,}?) .*/$1/;s/\s*$//;print@w+0,":^I$_
"if@w
225.20 Benoît Chauvet Tue Jun 4 16:20:27 2002
-n056a sub p{~~s/[ouyaie]/$&/gi."/".s/\w/$&/g}@v=map$"x length|p,grep{57>shift@z||$z<62}map{$_.=!/\./&&$"x(2-/../-/.../);push@z,$z++;$z+=length;$_}@F;$p=p$_="@F";s/(.{57})....+/$1.../;$_=@F.":^I$_
$p:^I@v
";s/ +$//g;$z&&=!print
Bon sang, mais c'est bien sûr !!! =)
225.22 Peter Haworth Fri Jun 7 18:46:02 2002
-ap056 reset'a-z';for(@F){$c+=$C=()=/\w/g;$v+=$V=()=/[aeiouy]/gi;$w.="$_ ";$n.="$V/$C ";($_|=$n^$n^$w^$w)=~y/\0/ /for$w,$n}$_=$w;s/ +$//;s/(.{57})....+/$1.../;$n=~/\S+/gfor/[^.\s]\S*/g;$n=~s/\G.*//;$_=$n&&@F.":^I$_
$v/$c:^I$n
"
Tiny shavings. Now I really am going home
225.23 Qingning Huo Wed Jun 5 22:29:45 2002
-n056 $x=$z=$v=$l="";$x=~s/(.{57}).{4,}/$1.../&&$z=~s/ *(?<=.{56}) +.+//,print"$w:^I$x
$v/$l:^I$z
"if$w=map{$0=length($x)-length$z,$z.=$".$"x$0,$x.=$".$"x-$0if$x;$v+=$V=y/aeiouyAEIOUY//;$l+=$L=s/\w/$&/g;$x.=$_;$z.="$V/$L"}split
225.34 Amir Karger Thu Jun 6 20:28:16 2002
-pa056 sub g{y/aeiouyAEIOUY//."/".s/\w/$&/g}
sub l{formline":$f\n",@_}
(@r=map{$f.="@"."<"x length($_|$:);g}@F)?l@F:exit;
substr($f,57)=~y/ @/</if$^A=~s/(.{58})....+/$1.../;
$^A=@F.$^A.g;
l@r;
$_=$^A;s/^\S+:/$&\t/gm;$f=$^A=""
Who the &$#! uses formline?! (I thought this one was definitely going to be more reducible...)
226.17 Jasper McCrea Thu Jun 6 20:57:24 2002
-0 map{$T=$V=$w=$s='';$c=map{$V+=@v=/[aeiouy]/ig;$T+=@t=/\w/g;$w.=$_.=$".$"x(3-tr///c);y// /c;$s.=@v.'/'.@t|$_}/\S+/g;s/ *$/
/,$w=~s/(.{57}).{4,}/$1.../&&$s=~s/(.{56}\S*).*/$1/for$w,$s;$c&&print"$c:^I$w$V/$T:^I$s"}<>=~/[^.]*.?/g
. actually matches . for once (and it's taken me hours to get this)
226.20 Keith Calvert Ivey Sat Jun 1 15:38:27 2002
-p056 sub c{lc=~y/aeiouy//.'/'.lc=~y/a-z0-9//}split;$p=c;$_.=$"x(3-length)for@_;($s,$t)="@_";$f=$/x($s=~s/(.{57}).{3,5}\S.*/$1/*3);for(@_){$s=~/\S+/g||last;$t.=c.$"x(1+y///c-length c)}$_=@_.":^I$s$f
$p:^I$t
";s/ +$//gm;$_ x=!!@_
226.23 Qingning Huo Wed Jun 5 20:16:00 2002
-n056 $x=$z=$v=$l="";$x=~s/(?<=.{57}).{4,}/.../&&$z=~s/ *(?<=.{56}) +.+//,print"$w:^I$x
$v/$l:^I$z
"if$w=map{$0=length($x)-length$z,$z.=$".$"x$0,$x.=$".$"x-$0if$x;$v+=$V=y/aeiouyAEIOUY//;$l+=$L=s/\w/$&/g;$x.=$_;$z.="$V/$L"}split
226.26 Amir Karger Tue Jun 4 17:47:33 2002
-pa056 sub g{y/aeiouyAEIOUY//."/".s/\w/$&/g}
sub p{sprintf"%-*s",$m*!/\.$/,pop}
$x=$"="";
(map{$m=($l=length)>3?$l+1:4;$x.=p$_;$_=p g}@F)?$x=~s/(.{57})....+/$1.../:exit;
$_=@F.":\t$x\n".g.":\t@F[0..$x=~s/ +[^.]//g]\n";
s/ +$//
Duh! -a switch! Also, I never knew you could interpolate such complicated expressions in quotes.
227.19 Jasper McCrea Thu Jun 6 18:23:29 2002
-0 map{$T=$V=$w=$s='';$c=map{$V+=@v=/[aeiouy]/ig;$T+=@@=/\w/g;$w.=$_.=$".$"x(3-tr///c);y// /c;$s.=@v.'/'.@@|$_}/\S+/g;s/ *$/
/,$w=~s/(.{57}).{4,}/$1.../&&$s=~s/(.{56}\S*).*/$1/for$w,$s;print"$c:^I$w$V/$T:^I$s"if$c}<>=~/[^.]+\.?/g
sorry about that, couldn't paste the tabs from the terminal I was using.
227.21 pom Mon Jun 3 13:04:38 2002
-ln0777 map{$p=$V=$L=@C=();$_=join$",map{$q=$p;$V+=$v=lc=~y/aeiouy//;$L+=$l=y/0-9A-z//;$p=y///c-length($k="$v/$l");push@C,$"x$q.$k;$"x-$q.$_}@s=split;s/(.{57})....+/$1.../;print@s.":^I$_
$V/$L:^I@C[0..-1-/ \W+$/+split]"}/.+?\./gs
I hope it works this time!
227.26 Chris Dolan Thu Jun 6 07:47:50 2002
-056na $_.=$"x(3-length)for@F;$_="@F";@v=map{$V+=$v=y/aeiouyAEIOUY//."/".(@n=/\w/g);$N+=@n;$v.$"x(length()-length$v)}@F;s/ *$//;s/(.{57})....+/$1.../&&splice@v,(@x=/\w\S+/g);$_=@F.":\t$_
$V/$N:\t@v";s/ *$/
/;$V=$N=!print if/\./
This slightly longer solution passes the test that my previous solution failed I think it is a good solution and not just another hack, but I'm not 100% sure
227.32 Rick Klement Sat Jun 1 14:48:54 2002
-0p sub c{y/aeiouyAEIOUY//.'/'.y/a-zA-Z0-9//}$_=join'',map{$n=split;@c=map{c.$"x(y///c-length c)}map$_.=$"x(3-length),@_;s/ *$/./,s/(.{57}).{4,}/$1.../&&($#c=-1+split' ',$1)for$a="@_";"$n:^I$a
".c.":^I@c
"}/(\S.*?)\./sg;s/ +$//mg
I need practice with the tabs :)
228.15 Michael Thelen Tue Jun 4 22:50:21 2002
-p056 /./||last;$V=$T=$p=$q=$s=$Z;$V+=$v=@v=/[aeiouy]/ig,$T+=$t=@t=/\w/g,$x=$p=~y///c-length$q,$p.=$"x-$x.$s.$_,$q.=$"x$x."$s$v/$t",$s=$"for@w=split;$p=~s/(.{57}).{4,}/$1.../&&$q=~s/(.{0,56}\S+).*/$1/;$_=$z=@w.":^I$p
$V\/$T:^I$q
"
I discovered command line switches (duh)! What a revelation! Surely Perl holds many secrets I have yet to discover.
228.20 Stephen Turner Sat Jun 1 15:18:24 2002
-lX00 sub b{lc=~y/aeiouy//.'/'.y/a-zA-Z0-9//}map{$n=@r=/\S+/g;$_=sprintf('%-3s 'x$#r,@r).$r[-1];$m=b;s/(.{57})...+/$1../;$s=@s=/ [^.]/g;@x=map$s-->=0&&b.$"x(y///c-length b),@r;print"$n:^I$_.
$m:^I@x"=~/.*\d/gs}map/\s*([^.]+)./g,<>
228.20 Benoît Chauvet Tue Jun 4 15:52:11 2002
-n056a sub p{~~s/[ouyaie]/$&/gi."/".s/\w/$&/g}@v=map$"x length|p,grep{57>shift@z||$z<62}@w=map{$_.=!/\./&&$"x(2-/../-/.../);push@z,$z++;$z+=length;$_}@F;$p=p$_="@w";s/(.{57})....+/$1.../;$_=@w.":^I$_
$p:^I@v
";s/ +$//g;$z&&=!print
228.23 Peter Haworth Fri Jun 7 18:30:14 2002
-ap056 reset'a-z';for(@F){$c+=$C=()=/\w/g;$v+=$V=()=/[aeiouy]/gi;$w.="$_ ";$n.="$V/$C ";($_|=$n^$n^$w^$w)=~y/\0/ /for$w,$n}$_=$w;s/ +$//;s/(.{57})....+/$1.../;$n=~/\S+/gwhile/[^.]\S*\s*/g;$n=~s/\G.*//;$_=$n&&@F.":^I$_
$v/$c:^I$n
"
Aha! I knew there must be a way to shorten those variable initializations.
228.23 Prakash Kailasa Thu Jun 6 18:19:58 2002
-lan056 $_="@F",s/(.{57})...+/$1../,@_=/\w+/g,$_="$n:^I$_.
$V/$T:^I@G[0..$#_]",s/ +$//,print if$V=$T=0,$m=$n=@F,@G=map{$_=lc,$V+=$v=y/aeiouy//,$T+=$t=s/\w/$&/g;pack'A'.(/...+/?y///c:3),"$v/$t"}map{$_=!--$m|/...+/?$_:pack'A3',$_}@F
228.27 Alain "TopMach" Dupuis Thu Jun 6 22:37:17 2002
-0 for(<>=~/[^.]+/g){my(@r,$p,$t,$v);$t+=@b=/\w/g,$v+=$@=y/aeiouyAEIOUY//."/".@b,$p.="$_ ".' 'x(3-tr// /c),$j=push@r,$_|"$@"for/\S+/g;$_=$p;s/ +$//;s/(.{57})...+/$1../;$#r=(()=/\w+/g)-1;"@r"=~/ *$/;$t&&print"$j:^I$_.
$v/$t:^I$`
"}
228.30 Bruce Gray Thu Jun 6 14:02:15 2002
-na056 $c=@F;$^A=$:='';$_.=$"x(3-length)for@F[0..@F-2];@n=map{$s=$u=y/aeiouy//.'/'.y/a-z0-9//;$s.=$"x(y///c-length$s)}map lc,@F,$_;formline'^'.'<'x56 .'...',"@F";$_=$^A;y/.//d;$#n=(split)-1;$_="$c:^I$^A
$u:^I@n
";s/ +$//;$c&&print
228.35 Alain "TopMach" Dupuis Thu Jun 6 21:32:44 2002
-0 for(<>=~/[^.]+/g){my(@r,$p,$t,$v);$t+=@a=/\w/g,$v+=$@=y/aeiouyAEIOUY//."/".@a,$p.="$_ ".' 'x(3- y// /c),$i=push@r,$_|"$@"for/\S+/g;$_=$p;s/ +$//;s/(.{57})...+/$1../;$#r=(()=/\w+/g)-1;"@r"=~/ *$/;$t&&print"$i:^I$_.
$v/$t:^I$`
"}
229.19 jacoph Thu Jun 6 13:37:23 2002
-n0 map{$n=0;$r=$_;@w=map{sprintf"%-3s",$_}split;$_="@w";s/ *$/./;s/(?<=.{57}).{4,}/.../;@w&&printf@w.":^I$_
%*s:^I"."%-*s"x($q=@x=/^| \S(?!\.\.$)/g)."
",map{(!$n++||!--$q||1+length,(@x=/[aeiouy]/ig).'/'.s/\w//g)}$r,@w}split/\.\s+/
229.20 Benoît Chauvet Tue Jun 4 13:31:54 2002
-n056a sub p{~~s/[ouyaie]/$&/gi."/".s/\w/$&/g}@v=map{$"x length|p}grep{shift@z<57||$z<62}@w=map{/\./ or$_.=$"x(2-/../-/.../);push@z,$z++;$z+=length;$_}@F;$p=p$_="@w";s/(.{57})....+/$1.../;$_=@w.":^I$_
$p:^I@v
";s/ +$//g;$z&&=!print
I didn't think that a tight contest could create such a motivation!
229.24 seano Wed Jun 5 05:53:40 2002
$/=$*;sub v{$_=lc;y/aeiouy//.'/'.y/a-z0-9//}map{split;$g=v;s/\S+\s?/A.length($&|$"x4)/eg;$_=pack$p=$_,@_;s/ *$/./;$n=s/^(.{57}).{4,}/$1.../?56:60;($x=pack$p,map{v}@_)=~s/^.{0,$n}\S+/@_&&print@_.":\t$_\n$g:\t$&\n"/e}split/\.\W/,<>
Another minor tweak...
229.27 Yanick Champoux Tue Jun 4 22:18:08 2002
-p056 sub
t{map
y/aeiyou//.'/'.(@a=/\w/g),lc
pop}@q=map$_.$"x(3-
y///c),split;@w=t$y=$_="@q";s/ +$//,s/(.{57})....+/$1.../,$x=@a=/\w\S*/gfor$y;s#\S..?\S*#sprintf"%-@{[length$&]}s",t$&#eg,/( *\d+\/\d+){$x}/;
$_&&=@q.":^I$y
@w:^I$&
"
must.. shave.. more.. strokes..
229.29 Josef Drexler Wed Jun 5 20:34:28 2002
-an056 sub c{()=/@_/gi}$v=$t=0;@O=map{$v+=$V=c"[aeiouy]";$t+=$T=c '\w|\d';$_.=$"x(3- c$/);$e="$V/$T";$e.$"x(c($/)-length$e)}@F;$_="@F"||next;s/ *$//;$#O=c" [^. ]"if s/(.{57}).{4,}/$1.../;$O[-1]=~y/ //d;print~~@F,":^I$_
$v/$t:^I@O
"
one character at a time... but I think I'll need a new strategy fast.
230.18 Keith Calvert Ivey Sat Jun 1 15:33:13 2002
-p056 sub c{lc=~y/aeiouy//.'/'.lc=~y/a-z0-9//}@b=split;$p=c;$_.=$"x(3-length)for@b;($s,$t)="@b";$f='.'x($s=~s/(.{57}).{3,5}\S.*/$1/*3);for(@b){$s=~/\S+/g||last;$t.=c.$"x(1+y///c-length c)}$_=@b.":^I$s$f
$p:^I$t
";s/ +$//gm;$_ x=!!@b
230.19 Sec Fri Jun 7 14:52:25 2002
-ap056 $_=$x=$b='';if(@r=map{$_.=$"x(3*!/\./-length);$-=length;$b+=@D=/\w/g;$x+=@C=/[aeiouy]/ig;sprintf"%-$-s",@C."/".@D}@F){$_="@F";s/(.{57})....+/$1.../;/ *\../g;substr($q="@r",pos()-3)=~s/\s.*//;$_=@F.":^I$_
$x/$b:^I$q
";s/ +$//}
Rework trunctating the second string. Thanks to pos, this seems more promising.
230.20 pom Mon Jun 3 11:25:37 2002
-ln0777 map{$p=$V=$L=@C=();$_=join$",map{$q=$p;$V+=$v=lc=~y/aeiouy//;$L+=$l=y/0-9A-z//;$p=y///c-length($k="$v/$l");push@C,$"x$q.$k;$"x-$q.$_}@s=split;s/(.{57})....+/$1.../;print@s.":\t$_\n$V/$L:\t@C[0..-1-/ \W+$/+split]"}/.+?\./gs
230.32 Scott Hall Fri Jun 7 20:42:17 2002
-nla0056 if(@F){y/
/ /;s/\S+/A.(($!=length$&)<3?4:$!+1)/ge;s/\d+$/*/;print@F.":^I",map{s/(.{57})....+
((.*?[^^I]{56}) ..+|(.*))/$1...
$3$4/;s/ *$//;$_}pack($_,@F).".
".pack"A*$_",map{y/aeiouyAEIUOY//."/".s/\w//g.(":^I"x/#/)}"@F#",@F}
231.23 David Lowe Thu Jun 6 09:35:55 2002
-na map{$J+=$j=lc=~y#aeiouy##;$K+=$k=y#"-/:-@##c;$m=($s=/\./)?0:y###c>3?y###c:3;push@{--$|},$_.$"x($m- y###c)for$_,"$j/$k";if($s){$_=+@0.":\t@1
$J/$K:\t@0
";s/^(.+\t.{57})....+(\n.+\t.{0,56}\S+).*$/$1...$2/;$J=$K=@0=@1=();print}}@F
must sleep now
231.24 Chris Dolan Thu Jun 6 07:32:02 2002
-056na $s=$w=$N=$V=!print+(map{$N+=@n=/\w/g;$V+=$z=y/aeiouyAEIOUY//."/".@n;$w.=$".$"x($d=length($s)-length$w),$s.=$".$"x-$d if$w;$s.=$z;($w.=$_)=~s/(.{57})....+/$1.../&&$s=~s/(.{56}\S*).*/$1/;$s=~s/ *$//}@F).":^I$w
$V/$N:^I$s
"if/\./
Minor improvement
232.20 pom Sat Jun 1 17:01:08 2002
-ln0777 map{$p=$V=$L=@C=();$_=join$",map{$q=$p;$V+=$v=lc=~y/aeiouy//;$L+=$l=y/0-9A-z//;$p=y///c-length($k="$v/$l");push@C,$"x$q.$k;$"x-$q.$_}@s=/\S+/g;s/(.{57}).{4,}/$1.../;print@s.":\t$_\n$V/$L:\t@C[0..split()-1-/ \W+$/]"}/.+?\./gs
232.20 Guillermo Sansovic Tue Jun 4 16:55:51 2002
sub c{0+s/[aeiouy]/$&/gi.'/'.s/\w//g}sub p{s/ +$//;print"@_:\t$_\n"}$/='.';for(<>){@s=map sprintf("%-3s",$_),split;$w=c;$_="@s"||next;s/(.{57})...+\S/$1.../;p~~@s;@c=map /.*/&&sprintf("%-$+[0]s",c),@s[0..-1-/ \./+split];$_="@c";p$w}
232.23 Prakash Kailasa Thu Jun 6 15:27:27 2002
-lan056 $_="@F",s/(.{57})...+/$1../,@_=/[-\w']+/g,$_="$n:^I$_.
$V/$T:^I@G[0..$#_]",s/ +$//,print if$V=$T=0,$m=$n=@F,@G=map{$_=lc,$V+=$v=y/aeiouy//,$T+=$t=s/\w/$&/g;pack'A'.(/...+/?y///c:3),"$v/$t"}map{$_=!--$m|/...+/?$_:pack'A3',$_}@F
little more than 2 this time. still a long way to go :-(
232.23 seano Tue Jun 4 18:40:10 2002
$/=$*;sub v{$_=lc;y/aeiouy//.'/'.y/a-z0-9//}map{@p=map{A.length("$_ "|$"x4)}@w=split;$g=v;$_=pack"@p",@w;s/ *$/./;$n=s/^(.{57})...+\S/$1.../?56:60;($x=pack"@p",map{v}@w)=~s/^.{0,$n}\S+/@w&&print@w.":\t$_\n$g:\t$&\n"/e}split/\.\W/,<>
must... improve... tiebreak... must... find... new... idea...
232.24 Qingning Huo Wed Jun 5 17:13:51 2002
-n056 $x=$z=$v=$l="";$x=~s/(?<=.{57}).{4,}/.../&&$z=~s/ *(?<=.{56}) +.+//,print"$w:^I$x
$v/$l:^I$z
"if$w=map{(($0=length($x.=$")-length($z.=$"))>0?$z:$x).=$"x abs$0if$x;$v+=$V=y/aeiouyAEIOUY//;$l+=$L=s/\w/$&/g;$x.=$_;$z.="$V/$L"}split
232.29 Bruce Gray Wed Jun 5 02:06:24 2002
-na056 $c=@F;$^A=$:='';$_.=$"x(3-length)for@F[0..@F-2];@n=map{$s=$u=y/aeiouy//.'/'.y/a-z0-9//;/$/;$s.=$"x($+[0]-length$s)}map lc,@F,$_;formline'^'.'<'x56 .'...',"@F";$_=$^A;y/.//d;$#n=(split)-1;$_="$c:^I$^A
$u:^I@n
";s/ +$//;$c&&print
232.30 Andrew Savige Mon Jun 3 03:51:54 2002
-p056 $t=$s=$y=v9;
@n=map{$t+=$v=y;aeiouyAEIOUY;;;$s+=$c=y;a-zA-Z0-9;;;
$_.=$"x(3-($l=y)))c));
$y.($z="$v/$c").""x($y=$"x($l-length$z))}@x=/\S+/g;
$_="@x";s; +$;;;s;(.{57})....+;$1...;;$_=@x.":^I$_
$t/$s:@n[0..(@==/[^. ]+/g)-1]
"if@x
233.24 Chris Dolan Thu Jun 6 05:46:10 2002
-056n $s=$w=$N=$V=!print+(map{$N+=@n=/\w/g;$V+=$z=y/aeiouyAEIOUY//."/".@n;$w.=$".$"x($d=length($s)-length$w),$s.=$".$"x-$d if$w;$s.=$z;($w.=$_)=~s/(.{57})....+/$1.../&&$s=~s/(.{56}\S*).*/$1/;$s=~s/ *$//}split).":^I$w
$V/$N:^I$s
"if/\./
Ugh. Way too much work for such a long solution... This problem is hard.
233.26 Mtv Europe Sat Jun 1 16:55:44 2002
-ap056 sub B{1*s/[aeiouy]/$&/ig.'/'.1*s/\w/$&/g}$B=$A=':^I';$A.=$"x((($C=($D=length$A)>($E=length$B)?$D:$E)+=$D>2)-$D).$_,$B.=$"x($C-$E).B for@F;pos$B=59;$A=~s/(.{59})....+/$1.../&&$B=~s/\s+\G.*|\G(\S+).*/$1/;$_=@F?@F."$A
".B."$B
":''
back my sixth place
234.18 Jasper McCrea Thu Jun 6 18:04:08 2002
-0 map{$T=$V=$w=$s='';$c=map{$V+=@v=/[aeiouy]/ig;$T+=@@=/\w/g;$w.=$_.=$".$"x(3-tr///c);y// /c;$s.=@v.'/'.@@|$_}/\S+/g;s/ *$/
/,$w=~s/(.{57}).{4,}/$1.../&&$s=~s/(.{56})(\S+)?.*/$1$2/for$w,$s;print"$c:\t$w$V/$T:\t$s"if$c}<>=~/[^.]+\.?/g
failing that test did me some good, I hate to say. (s/\t/hard tabs/g, please Mr. Judge)
234.21 Michiel van Leeuwen Tue Jun 4 15:53:59 2002
-an056 $p=$q="";$_="@F";map{$_=lc;$p+=$c=y/aeiouy//;$q+=$d=y/a-z0-9//;s|.| |g;$_|="$c/$d"}@F;s/(\S+)( +)/$&." "x(3-length($1))/ge;$g="@F";s/(.{57}).{4,}/$1.../&&$g=~s/\S+/$-[0]>56?"":$&/ge;$g=~s/ +$//;print@F.":\t$_
$p/$q:\t$g
"if/\S/
Aaargh, wrapping!!!
234.24 Chris Dolan Wed Jun 5 01:53:01 2002
-ln map{$N+=@n=/\w/g;$V+=$z=y/aeiouyAEIOUY//."/".@n;$w.=$".$"x($d=length($s)-length$w),$s.=$".$"x-$d if$W++;$s.=$z;($w.=$_)=~s/(.{57})....+/$1.../&&$s=~s/(.{56}\S*).*/$1/;$s=~s/ *$//;$s=$w=$W=$V=$N=!print"$W:^I$w
$V/$N:^I$s"if/\./}split
I hope the literal tabs come through OK...
234.27 Bruce Gray Tue Jun 4 22:01:28 2002
-na056 $c=@F;$^A=$:='';$_.=$"x(3-length)for@F[0..@F-2];@n=map{$s=$u=y/aeiouy//.'/'.y/a-z0-9//;/$/;$s.=$"x($+[0]-length$s)}map lc,@F,$_;formline'^'.'<'x56 .'...',"@F";$_=$^A;$#n=(split)-1-/ \.{3}$/;$_="$c:^I$_
$u:^I@n
";s/ +$//;$c&&print
234.29 Josef Drexler Tue Jun 4 20:24:33 2002
-an056 sub c{()=/@_/gi}$v=$t=0;@O=map{$v+=$V=c"[aeiouy]";$t+=$T=c '[a-z\d]';$_.=$"x(3- c".");$e="$V/$T";$e.$"x(c(".")-length$e)}@F;$_="@F"||next;s/ *$//;$#O=c" [^. ]"if s/(.{57}).{4,}/$1.../;$O[-1]=~y/ //d;print~~@F,":^I$_
$v/$t:^I@O 
"
trying again, with the tabs pasted properly
235.21 Stephen Turner Sat Jun 1 14:34:05 2002
-lX00 sub b{lc=~y/aeiouy//.'/'.y/a-zA-Z0-9//}map{$n=@r=/\S+/g;$_=sprintf('%-3s 'x$#r,@r).$r[-1];$m=b;s/(.{57})...+/$1../;$s=s/ [^.]/$&/g;print"$n:^I$_.";@x=map$s-->=0&&b.$"x(y///c-length b),@r;print"$m:^I@x"=~/.*\d/g}map/\s*([^.]+)./g,<>
235.32 Scott Hall Fri Jun 7 05:56:34 2002
-nla0056 if(@F){y/
/ /;s/\S+/A.length$&/ge;s/\d+/$&<3?4:$&+1/ge;s/\d+$/*/;print@F.":^I",map{s/(.{57})....+
((.*?[^^I]{56}) ..+|(.*))/$1...
$3$4/;s/ *$//;$_}pack($_,@F).".
".pack"A*$_",map{y/aeiouyAEIUOY//."/".s/\w//g.(":^I"x/#/)}"@F#",@F}
235.32 Scott Hall Fri Jun 7 14:26:27 2002
-nla0056 if(@F){y/
/ /;s/\S+/A.length$&/ge;s/\d+/$&<3?4:$&+1/ge;s/\d+$/*/;print@F.":^I",map{s/(.{57})....+
((.*?[^^I]{56}) ..+|(.*))/$1...
$3$4/;s/ *$//;$_}pack($_,@F).".
".pack"A*$_",map{y/aeiouyAEIUOY//."/".s/\w//g.(":^I"x/#/)}"@F#",@F}
236.24 seano Tue Jun 4 16:52:59 2002
$/=$*;sub v{$_=lc;y/aeiouy//.'/'.y/a-z0-9//}map{@p=map{A.length("$_ "|$"x4)}@w=split;$g=v;$_=pack"@p",@w;s/ *$/./;$i=s/^(.{57})...+\S/$1.../?56:60;($x=pack"@p",map{v}@w)=~s/^(.{0,$i}\S+).*/@w&&print@w.":\t$_\n$g:\t$1\n"/e}split/\.\W/,<>
Nevermind... I can shave one more off.
236.32 Rick Klement Sat Jun 1 06:55:17 2002
-0p sub c{y/aeiouyAEIOUY//."/".(()=/[^\W_]/g)}$_=join'',map{$n=split;@c=map{c.$"x(y///c-length c)}map$_.=$"x(3-length),@_;$_[-1]=~y/ //d;($a="@_.")=~s/(.{57}).{4,}/$1.../&&splice@c,split' ',$1;"$n:^I$a
".c.":^I@c
"}/(\S.*?)\./sg;s/ +$//mg
these tabs sure are a pain...
236.33 Scott Hall Fri Jun 7 05:54:40 2002
-nla0056 if(@F){y/
/ /;s/\S+/A.length$&/ge;s/\d+/$&<3?4:$&+1/ge;s/\d+$/*/;print@F.":^I",map{s/(.{57})....+
((.*?[^^I]{56}) ..+|(.*))/$1...
$3$4/;s/ *$//;$_}pack($_,@F).".
".pack"A*$_",map{y/aeiouyAEIUOY//."/".s/\w//gi.(":^I"x/#/)}"@F#",@F}
236.37 Piers Cawley Thu Jun 6 06:57:55 2002
-ap056 sub a{$_=lc;y/aeiouy//."/".y/a-z0-9//}$_=@F?do{$a=$b='';
for(@F){$f=$a=~y///c-$b=~y///c;$a.=' 'x-$f."$_ ";$b.=' 'x$f.a.' ';$a=~s/(.{57}).*/$1.../,$b=~s/(.{56}\S*).*/$1/,last if$a=~y///c>61}s/ *$/
/for$a,$b;+@F.":^I$a".a.":^I$b"}:''

Horrible, but it's my first passing algorithm, golfed up only a little.
237.16 Michael Thelen Tue Jun 4 05:54:35 2002
$/=$Z;map{$V=$T=$p=$q=$s=$Z;$V+=$v=@v=/[aeiouy]/ig,$T+=$t=@t=/\w/g,$x=$p=~y///c-length$q,$p.=$"x-$x.$s.$_,$q.=$"x$x."$s$v/$t",$s=$"for@w=split;$p=~s/(.{57}).{4,}/$1.../&&$q=~s/(.{0,56}\S+).*/$1/;print$z=@w,":^I$p
$V/$T:^I$q
"}<>=~/.+?\./sg
So many hours and only 9 fewer strokes to show for it! My left eyeball popped 2 hours ago.
237.19 Honza Pazdziora Fri Jun 7 10:17:08 2002
-056n sub d{lc=~y!aeiouy!!.'/'.s!\w!$&!g}my($m,$p,$x);$m++,$x.=$c=sprintf('%-*s ',y!!!c,d),$p.=sprintf'%-*s',length$c,$_ for/(\S+)/g;$p=~s/(.{57})....*\S.*/$1.../and$x=~s/(.{56}.*?) .*/$1/;s/\s+$//for$p,$x;print"$m:\t$p
@{[d]}:\t$x
"if$m
237.24 seano Tue Jun 4 16:36:21 2002
$/=$*;sub v{$_=lc;y/aeiouy//.'/'.y/a-z0-9//}map{@p=map{A.length("$_ "|$"x4)}@w=split;$g=v;$_=pack"@p",@w;s/ *$/./;$i=s/^(.{57}).{3,}\S/$1.../?56:60;($x=pack"@p",map{v}@w)=~s/^(.{0,$i}\S+).*/@w&&print@w.":\t$_\n$g:\t$1\n"/e}split/\.\W/,<>
Maybe it's time for a new approach...
237.30 Eugene van der Pijll Sat Jun 1 08:43:07 2002
-p056 sub e{lc=~y/aeiouy//."/".s/\w/$&/g}$w=split;$a.=$_,$b.=e,$a.=$"x($d=$b=~y///c-length$a).$",$b.=$"x-$d.$"for@_;s/ +$//,s/(.{57}).{4,}/$1/&&$b=~s/((\S+ +){${\~~split}}).*/$1/&&s/$/.../for$a;$_=$w?"$w:^I$a
".e.":^I$b
":'';$a=$b=!s/ +$//
238.23 Prakash Kailasa Thu Jun 6 15:18:08 2002
-lan056 $_="@F",s/(.{57})...+/$1../,@_=/[-\w']+/g,($g="@G[0..$#_]")=~s/ +$//,print"$n:^I$_.
$V/$T:^I$g"if$V=$T=0,$m=$n=@F,@G=map{$_=lc,$V+=$v=y/aeiouy//,$T+=$t=s/\w/$&/g;pack'A'.(/...+/?y///c:3),"$v/$t"}map{$_=!--$m|/...+/?$_:pack'A3',$_}@F
2 chars at a time :-)
238.27 Yanick Champoux Tue Jun 4 12:45:38 2002
-p056 sub
t{local$_=lc
pop;y/aeiyou//.'/'.(@a=/\w/g)}$w=t$y=$_=join$",map{sprintf"%-3s",$_}@q=split;$y=~s#\S..?\S*#sprintf"%-@{[length$&]}s",t$&#eg;s/ +$//;s/(.{57})....+/$1.../;$x=@a=/\w\S*/g;$y=~/( *\d+\/\d+){$x}/;$_&&=@q.":^I$_
$w:^I$&
"
A small shaving for my script, a big leap toward Benoit's occular explosion. :)
238.33 Alain "TopMach" Dupuis Wed Jun 5 18:31:03 2002
-0 for(<>=~/[^.]+/g){my(@r,$p,$t,$v);$_.=' 'x(3-length),$t+=@a=/\w/g,$v+=$@=y/aeiouyAEIOUY//."/".@a,$p.="$_ ",y// /c,$i=push@r,$_|"$@"for/\S+/g;$_=$p;s/ +$//;s/(.{57})...+/$1../;$#r=(()=/\w+/g)-1;"@r"=~/ *$/;$t&&print"$i:^I$_.
$v/$t:^I$`
"}
239.20 Eike Grote Wed Jun 5 07:21:22 2002
-ln for(/\S+/g){$t++;$q+=@v=/[aeiouy]/ig;$r+=@c=/[a-z\d]/ig;$w=length($p.=$_)-length($s.=@v."/".@c);/\./ or$s.=$"x$w.$",$p.=$"x-$w.$",next;$_=$s;$p=~s/(.{57}).{4,}/$1.../&&s/(.{56,}?) .*/$1/;s/ +$//;print"$t:^I$p
$q/$r:^I$_";$$_=''for(p..t)}
239.32 Scott Hall Fri Jun 7 04:40:01 2002
-nla0056 if(@F){y/
/ /;s/\S+/A.length$&/ge;s/\d+/$&<3?4:$&+1/ge;s/\d+$/*/;print@F.":^I",(map{$s=s/(.{57})...+/$1../;$_}pack$_,@F),".
",map{$s&&s/([^^I]{56}) ..+/$1/;s/ *$//;$_}pack"A*$_",map{y/aeiouyAEIUOY//."/".s/\w//gi.(":^I"x/#/)}"@F#",@F}
240.22 Prakash Kailasa Thu Jun 6 15:10:36 2002
-lan056 $_="@F",s/(.{57})...+/$1../,@_=/[-\w']+/g,@G=@G[0..$#_],$G[-1]=~s/ +//,print"$n:^I$_.
$V/$T:^I@G"if$V=$T=0,$m=$n=@F,@G=map{$_=lc,$V+=$v=y/aeiouy//,$T+=$t=s/\w/$&/g;pack'A'.(/...+/?y///c:3),"$v/$t"}map{$_=!--$m|/...+/?$_:pack'A3',$_}@F
240.23 Honza Pazdziora Wed Jun 5 14:16:26 2002
-056n sub d{y!aeiouyAEIOUY!!.'/'.s!\w!$&!g}my($m,$p,$x);$m++,$x.=$c=sprintf('%-*s ',length,d),$p.=sprintf'%-*s',length$c,$_ for/(\S+)/g;$p=~s/(.{57})....*\S.*/$1.../and$x=~s/(.{56}.*?) .*/$1/;s/\s+$//for$p,$x;print"$m:\t$p
@{[d]}:\t$x
"if$m
240.32 Scott Hall Fri Jun 7 04:38:18 2002
-nla0056 if(@F){y/
/ /;s/\S+/A.length$&/ge;s/\d+ /$&<3?4:$&+1/ge;s/\d+$/*/;print@F.":^I",(map{$s=s/(.{57})...+/$1../;$_}pack$_,@F),".
",map{$s&&s/([^^I]{56}) ..+/$1/;s/ *$//;$_}pack"A*$_",map{y/aeiouyAEIUOY//."/".s/\w//gi.(":^I"x/#/)}"@F#",@F}
241.19 RRBuonanno Wed Jun 5 13:28:22 2002
-n0 map{$n=0;$r=$_;@w=map{sprintf"%-3s",$_}split;$_="@w";s/ *$/./;substr($_,57)='...'if length>60;$q=@x=/ \S(?!\.\.$)/g;@w&&printf@w.":^I$_
%*s:^I"."%-*s"x($q+1)."
",map{(!$n++||!$q--||1+length,(@x=/[aeiouy]/ig).'/'.s/\w//g)}$r,@w}split/\.\s+/
241.20 Petri Mikkelä Fri Jun 7 22:58:16 2002
-n map{$j++;$k+=@x=/\w/g;$n+=@p=/[aeiouy]/ig;($l,$m,$q)=map{y///c}$c,$_,$w=@p.'/'.@x;$c.=$_.$".$"x($q-=$m);substr($c,57)='...'if$m+$l>60;$g.="$w ".$"x-$q if$l<57||/\./&&$m+$l<61;s|\.|$_="$j:^I$c
$n/$k:^I$g
";s: *
:
:g;print;reset'b-z'|e}/\S+/g
241.20 Benoît Chauvet Tue Jun 4 12:19:54 2002
-n056a sub p{~~s/[ouyaie]/$&/gi."/".s/\w/$&/g}@v=map{$"x length|p}grep{shift@z<57||$z<62}@w=map{/\./ or$_.=$"x(2-/../-/.../);push@z,$z++;$z+=length;$_}grep/\w/,@F;$p=p$_="@w";s/(.{57})....+/$1.../;$_=@w.":^I$_
$p:^I@v
";s/ +$//g;@w&&print;$z=0
Unstoppable :)
241.32 Alain "TopMach" Dupuis Wed Jun 5 17:39:42 2002
-0 for(<>=~/[^.]+/g){my(@r,$p,$t,$v);$_.=' 'x(3-length),$t+=$e=()=/\w/g,$v+=$@=y/aeiouyAEIOUY//."/$e",$p.="$_ ",s/./ /g,$i=push@r,$_|"$@"for/\S+/g;$_=$p;s/ +$//;s/(.{57})...+/$1../;$#r=(()=/\w+/g)-1;"@r"=~/ *$/;$t&&print"$i:^I$_.
$v/$t:^I$`
"}
242.17 Peter Haworth Fri Jun 7 17:22:37 2002
-ap056 $W=$N=$C=$V='';$w=@F;for(@F){$C+=$c=()=/\w/g;$V+=$v=()=/[aeiouy]/gi;$W.="$_ ";$N.="$v/$c ";($_|=$N^$N^$W^$W)=~y/\0/ /for$W,$N}$_=$W;s/ +$//;s/(.{57})....+/$1.../;$n=()=/\s[^\s.]/g;$N=~s/(\S+( +\S+){$n}).*/$1/;$_=$N&&"$w:^I$_
$V/$C:^I$N
"
There must be better ways of reducing characters than realising how stupid the previous submission was. I wish I could think of a new algorithm
242.22 Prakash Kailasa Thu Jun 6 05:30:44 2002
-lan056 map($_=/...+/?$_:pack('A3',$_),@F[-@F..-2]),$_="@F",s/(.{57})...+/$1../,@_=/[-\w']+/g,$V=$T=0,@F=(map{$_=lc,$V+=$v=y/aeiouy//,$T+=$t=s/\w/$&/g;pack'A'.(/...+/?y///c:3),"$v/$t"}@F)[0..$#_],$F[-1]=~s/ +//,print"$n:^I$_.
$V/$T:^I@F"if$n=@F
Please ignore my previous submission, which scored 250 (probably due to the TAB char converted to spaces during copy-n-paste). Hope this one will be ok.
242.22 Guillermo Sansovic Tue Jun 4 03:13:25 2002
sub c{0+s/[aeiouy]/$&/gi.'/'.y/a-zA-Z0-9//}sub p{s/ +$//;print"@_:^I$_
"}$/='.';for(<>){$x=split||next;@s=map sprintf("%-3s",$_),@_;$w=c;$_="@s";s/(.{57}).{3,}\S/$1.../;p$x;@c=map sprintf("%-".(length)."s",c),@s[0..-1-/ \./+split];$_="@c";p$w}
243.26 Scott Hall Wed Jun 5 05:32:44 2002
-nla0056  if($h=pop@F){my$f;$f.="%-".(length>2?length:3)."s "for@F;push@F,$h;print@F.":^I",map{$s=s/(.{57})....+/$1.../;$_}sprintf"$f%s.",@F;map{$s&&s/(^I.*?.{56}) ..+/$1/;s/ *$//;print}sprintf "%s:^I$f%s",map{y/aeiouyAEIUOY//."/".s/\w//gi}$_,@F}
244.19 pom Sat Jun 1 16:25:26 2002
-ln0777 map{$p=$V=$L=@C=();$_=join$",map{$q=$p;$V+=$v=lc=~y/aeiouy//;$L+=$l=y/0-9A-z//;$p=y///c-length($k="$v/$l");push@C,$"x$q.$k;$"x-$q.$_}@s=/\S+/g;s/(.{57}).{4,}/$1.../;$k=@S=split;print@s.":\t$_\n$V/$L:\t@C[0..$k-$S[--$k]!~/\w/]"}/.+?\./gs
244.22 David Lowe Thu Jun 6 08:50:37 2002
-na map{$J+=$j=lc=~y#aeiouy##;$K+=$k=y#"-/:-@##c;$m=($s=/\./)?0:y###c>3?y###c:3;push@{--$|},$_.$"x($m- y###c)for$_,"$j/$k";if($s){$B="@0";($D="@1")=~s/(.{57})....+/$1.../&&$B=~s/(.{0,56}\S+).*/$1/;print+@0.":\t$D
$J/$K:\t$B
";$J=$K=@0=@1=()}}@F
244.22 Guillermo Sansovic Tue Jun 4 01:38:16 2002
sub c{0+s/[aeiouy]/$&/gi.'/'.y/a-zA-Z0-9//}sub p{s/ +$//;print"@_:^I$_
"}$/='.';for(<>){$x=split||next;@s=map sprintf("%-3s",$_),@_;$w=&c;$_="@s";s/(.{57}).{3,}\S/$1.../;p$x;@c=map sprintf("%-".(length)."s",&c),@s[0..-1-/ \./+split];$_="@c";p$w}
245.20 Marko Nippula Tue Jun 4 08:30:35 2002
-an056 if(@F){@X=map{sprintf"%-3s",$_}@F;$_="@X";s/(.{57})(.{3,})\S/$1^I$2/g;@Z=split(/^I.*$| (?=\S)/,$_);@G=map{$r=s/\w/\l$&/g;sprintf"%-".y///c."s",y/aeiouy//."/$r"}$_,@X;$#G=@Z;$_=($x=@X)." @Z".(/^I/?"...":$Q)."
@G
";s/\s+(.*?) *
/:^I$1
/g;print}
First solution. Seems a little bit redundant, let's see how much I can optimize this later on...
245.22 Guillermo Sansovic Mon Jun 3 23:04:47 2002
$/='.';for(<>){$x=split||last;$c=$s="";$c.=" "x(length($s)-length$c).&c,$s.=sprintf("%-3s ",$_)for@_;$w=&c;$_=$s;s/ +$//;s/(.{57}).{4,}/$1.../;$n=$x+/ \./-split;$c=~/( +\S+){$n}$/;print"$x:^I$_
$w:^I$`
"}sub c{0+s/[aeiouy]/$&/gi.'/'.y/a-zA-Z0-9//}
245.23 seano Tue Jun 4 11:10:59 2002
-l $/=$*;sub v{$_=lc;y/aeiouy//.'/'.y/a-z0-9//}map{@p=map{A.length("$_ "|$"x4)}@w=split;$g=v;$i=($w=pack"@p",@w)=~s|^(.{57})...+\S.*|$1...|?56:60;$_=pack"@p",map{v}@w;s/^(.{0,$i}\S+).*/:\t$w\n$g:\t$1/;s/ *$//m;@w&&print@w.$_}split/(?<=\.)\W+/,<>
Eliminated a couple useless regex modifiers. "Moving up fast," says the ref, but I'm still nearly 100 strokes behind the aliens... At my current rate, that's 100 more submissions.
245.26 Scott Hall Wed Jun 5 04:50:02 2002
-nla0056  if($h=pop@F){my$f;map$f.="%-".(($l=length)<3?3:$l)."s ",@F;print push(@F,$h),":^I",map{$s=s/(.{57})....+/$1.../;$_}sprintf"$f%s.",@F;map{$s&&s/(^I.*?.{56}) ..+/$1/;s/ *$//;print}sprintf "%s:^I$f%s",map{y/aeiouyAEIUOY//."/".s/\w//gi}$_,@F}
246.17 Michael Thelen Tue Jun 4 00:20:31 2002
undef$/;for(<>=~/\G(.*?\.)/sg){$V=$T=$p=$q=$s='';$V+=$v=@v=/[aeiouy]/ig,$T+=$t=@t=/\w/g,$x=$p=~y///c-length$q,$p.=$"x-$x.$s.$_,$q.=$"x$x.$s."$v/$t",$s=$"for@w=split;$p=~s/(.{57}).{4,}/$1.../&&$q=~s/(.{0,56}\S+).*/$1/;print$z=@w,":^I$p
$V/$T:^I$q
"}
Switched to postfix 'for', replaced \t with tabs, more shaving.
246.19 Benoît Chauvet Tue Jun 4 08:38:58 2002
-n056a sub p{~~s/[ouyaie]/$&/gi."/".s/\w/$&/g}@v=map{$"x length|p}grep{shift@z<57||$z<62}@w=map{$_.=$"x(!/\./&&!/../+!/.../);push@z,$z++;$z+=length;$_}grep/\w/,@F;$_="@w";$p=p;62>$z||s/(.{57}).*/$1.../;$_=@w.":^I$_
$p:^I@v
";s/ +$//g;@w&&print;$z=0
246.28 Andrew Savige Sun Jun 2 04:11:28 2002
-n056 $t=$s=@n=();$x=$y=v9;
$l=y,,,c,$t+=$v=y,aeiouyAEIOUY,,,$s+=$c=y,a-zA-Z0-9,,,
$z="$v/$c",$_=$x.$_,$x=$"x(3-$l),
push(@n,$y.$z),$y=$"x($l-length$z)for@x=/\S+/g;
$_="@x";s;(?<=.{58})....+;...;;@x&&print~~@x,":$_
$t/$s:@n[0..(@==/[^. ]+/g)-1]
"
246.30 Rick Klement Sat Jun 1 06:07:21 2002
-0p sub c{y/aeiouyAEIOUY//."/".(()=/[^\W_]/g)}$_ x=/\./;s!\s*(.*?)\.\s*!$_=$1;$n=split;@c=map{c.$"x(y///c-length c)}map$_.=$"x(3-length),@_;$_[-1]=~y/ //d;($a="@_.")=~s/(.{57}).{4,}/$1.../;$#c=-1+split' ',$1;$c[-1]=~y/ //d;"$n:^I$a
".c.":^I@c
"!sge
tabs test
247.21 David Lowe Thu Jun 6 08:29:00 2002
-na map{$J+=$v=lc=~y#aeiouy##;$K+=$l=y#"-/:-@##c;$m=($s=/\./)?0:y###c>3?y###c:3;push@{--$|},sprintf"%-*s",$m,$_ for$_,"$v/$l";if($s){$B="@0";($D="@1")=~s/(.{57})....+/$1.../&&$B=~s/(.{0,56}\S+).*/$1/;print+@0.":\t$D
$J/$K:\t$B
";$J=$K=@0=@1=()}}@F
only 100 strokes behind! woo hoo!
247.22 Guillermo Sansovic Mon Jun 3 12:51:24 2002
$/='.';for(<>){$x=split||last;$c=$s="";$c.=" "x(length($s)-length$c).&c,$s.=sprintf("%-3s ",$_)for@_;$w=&c;$_=$s;s/ +$//;s/(.{57}).{4,}/$1.../;$n=-1-/ \./+split;$c=~/(\S+ +){$n}\S+/;print"$x:^I$_
$w:^I$&
"}sub c{0+s/[aeiouy]/$&/gi.'/'.y/a-zA-Z0-9//}
247.23 Honza Pazdziora Wed Jun 5 12:16:56 2002
-056n sub d{y!aeiouyAEIOUY!!.'/'.s!\w!$&!g}my($m,$p,$x);for(/(\S+)/g){$m++;$x.=$c=sprintf'%-*s ',length,d;$p.=sprintf'%-*s',length$c,$_}$p=~s/\s+$//;$p=~s/(.{57})....+/$1.../and$x=~s/((.{56}).*?) .*/$1/;$x=~s/\s+$//;print"$m:\t$p
@{[d]}:\t$x
"if$m
247.26 Mtv Europe Sat Jun 1 15:54:18 2002
-ap056 $B=$A=':^I';$B{$_}=1*s/[aeiouy]/$&/ig.'/'.1*s/\w/$&/gfor$_,@F;$A.=$"x((($C=($D=length$A)>($E=length$B)?$D:$E)+=$D>2)-$D).$_,$B.=$"x($C-$E).$B{$_}for@F;pos$B=59;$A=~s/(.{59})....+/$1.../&&$B=~s/\s+\G.*|\G(\S+).*/$1/;$_=@F?@F."$A
$B{$_}$B
":''
back my 6th place
247.36 Bjørn Hee Tue Jun 4 22:07:07 2002
sub a{y/aeiouyAEIOUY//.'/'.y/a-zA-Z0-9//}for(map{/\S+/g}<>){$b++;$_.=$".$"x(3-length);$c.=a.$"x(y///c-length a);$_=($d.=$_);if(/\./){s/ *$//;s/(.{57}).{4,}/$1.../;/\S+ ?\./;$e=length$`;$c=~/.{$e}\S+/;print"$b:\t$_
".a($_=$d).":\t$&
";$b=$c=$d=''}}
248.16 Peter Haworth Fri Jun 7 15:09:18 2002
-ap056 $W=$N=$C=$V='';$w=@F;for(@F){$C+=$c=()=/\w/g;$V+=$v=()=/[aeiouy]/gi;$W.="$_ ";$N.="$v/$c ";($_|=$N^$N^$W^$W)=~y/\0/ /for$W,$N}$W=~s/ +$//;$W=~s/(.{57})....+/$1.../;$n=()=$W=~/\s[^\s.]/g;$N=~s/(\S+( +\S+){$n}).*/$1/;$_=$N&&"$w:^I$W
$V/$C:^I$N
"
This passes the test program, and I didn't agree with the refs comments on the previous attempt. Can I see an example of wrong output if this one doesn't work?
248.18 Benoît Chauvet Tue Jun 4 08:12:28 2002
-ln056a sub p{~~s/[ouyaie]/$&/gi."/".s/\w/$&/g}@v=map{$"x length|p}grep{shift@z<57||$z<61}@w=map{$_.=$"x(@z+1^@F&&!/../+!/.../);push@z,$z;$z+=1+length;$_}grep/\w/,@F;$_="@w";$p=p;61>$z||s/(.{57}).*/$1../;$_=@w.":^I$_.
$p:^I@v";s/ +$//g;@w&&print;$z=0
So simple when you find why you wasted 3 strokes ! :)
248.22 seano Tue Jun 4 09:57:27 2002
-l $/=$*;sub v{$_=lc;y/aeiouy//.'/'.y/a-z0-9//}map{@p=map{A.length("$_ "|$"x4)}@w=split;$g=v;$i=($w=pack"@p",@w)=~s|^(.{57})...+\S.*|$1...|?56:60;$_=pack"@p",map{v}@w;s/^(.{0,$i}\S*).*/:\t$w\n$g:\t$1/;s/\s*$//gm;@w&&print@w.$_}split/(?<=\.)\W+/m,<>
249.21 Prakash Kailasa Wed Jun 5 14:24:50 2002
-ln056 s/^ +| +$//g,($S=$_)=~s/(.{57})...+/$1../,$V=$T=0,s!\S+ *!$_=lc$&,$V+=$v=y/aeiouy//,$T+=$t=s/\w/$&/g,pack'A'.(/...+/?y///c:3),"$v/$t"!eg,@_=$S=~/\w+/g,print"$n:^I$S.
$V/$T:^I",(/ *\S+/g)[0..$#_]if s/\s+/ /g,$n=s!\S+!$&=~/...+/?$&:pack'A3',$&!eg
Hope the lines don't get broken up in wrong places.
249.27 Yanick Champoux Mon Jun 3 23:42:37 2002
-p056 sub
t{local$_=lc
pop;y/aeiyou//.'/'.(@a=/\w/g)}$w=t$y=$_=join$",map{sprintf"%-3s",$_}@q=split;$y=~s#\S..?\S*#sprintf"%-@{[length$&]}s",t$&#eg;s/ +$//;$_="$&..."if/.{1,57}/,3<length$';$x=@a=/\w\S*/g;$y=~/( *\d+\/\d+){$x}/;$_&&=@q.":^I$_
$w:^I$&
"
Strokes, strokes everywhere A painful dead-end on a painful script Strokes, strokes everywhere And the program barely shrinked...
250.18 RRBuonanno Tue Jun 4 05:04:30 2002
-0 map{($z,@c)=map{sprintf"%-*s",length,(@x=/[aeiouy]/ig).'/'.(@x=/\w/g)}$_,@w=split;$_=sprintf"%-3s "x@w,@w;s/ *$//;substr($_,57)='...'if length>60;$z=~s/ //g;$_=@w.":^I$_
$z:^I@c[0..($q=@x=/ \S(?!\.\.$)/g)]
",s/ *$//gm;@w&&print}split/(?<=\.)\s+/,<>;
A bit like applying an olive press to alphabet soup, don't you think?
250.25 Amir Karger Tue Jun 4 15:02:07 2002
-p056 sub g{y/aeiouyAEIOUY//."/".s/\w/$&/g}
sub p{sprintf"%-*s",$m*!/\.$/,pop}
split||exit;
$x=$w=$"="";
map{$m=($l=length)>3?$l+1:4;$x.=p$_;$_=p g}@_;
$x=~s/(.{57})....+/$1.../;
$w=$x=~s/ +[^.]/$&/g;
$_=g.":\t@_[0..$w]";
s/ +$//;
$_=@_.":\t$x\n$_\n"
Mostly excess parens & things. I'm starting to use $_ for a LOT of things here!
250.27 Yanick Champoux Mon Jun 3 22:07:40 2002
-p056 sub
t{local$_=lc
pop;y/aeiyou//.'/'.(@a=/\w/g)}$w=t$y=$_=join$",map{sprintf"%-3s",$_}@q=split;$y=~s#\S..?\S*#sprintf"%-@{[length$&]}s",t$&#eg;s/ +$//;/.{1,57}/;$_="$&..."if
3<length$';$x=@a=/\w\S*/g;$y=~/( *\d+\/\d+){$x}/;$_&&=@q.":^I$_
$w:^I$&
"
Considering that Eugene is almost 100 strokes ahead, I must say that I'm tempted by a nervous breakdown...
251.17 Benoît Chauvet Mon Jun 3 15:59:48 2002
-ln056a sub p{~~s/[ouyaie]/$&/gi."/".s/\w/$&/g}@v=map{$"x length|p}grep{shift@z<57||$z<61}@w=map{$_.=$"x(@z+1^@F&&!/../+!/.../);push@z,$z;$z+=1+length;$_}grep/\w/,@F;$_="@w";$p=p;61>$z||s/(.{57}).*/$1../;$_=@w.":\t$_.\n$p:\t@v";s/ +$//g;@w&&print;$z=0
Ooops, forgot a newline. ;)
251.18 David Lowe Thu Jun 6 07:38:15 2002
-na map{$J+=$v=lc=~y#aeiouy##;$K+=$l=y#"-/:-@##c;$b="$v/$l";$d=$_;$s=/\./?'':$";$$_.=sprintf"%-*s$s",$s?($n=length$d)>3?$n:3:0,${+lc}for D,B;if(++$Z,!$s){$D=~s/(.{57})....+/$1.../&&$B=~s/(.{0,56}\S+).*/$1/;print"$Z:\t$D
$J/$K:\t$B
";$$_=''for B..Z}}@F
aaaaaaaaaaaagh
251.27 Sander Brandenburg Mon Jun 3 15:22:24 2002
-na056 ~~@F||next;$r=$s=0;$t=join$",map{$r+=$a=@x=/[aeiouy]/gi;$s+=$b=@y=/\w/g;s/$/ /while 3>length;pack"A".length,"$a/$b"}@F;$_=join$",@F;s/\s+$//;s/^(.{57}).{4,}$/$1.../;$t=~s/\s+\S*$//while(2+rindex$t,$")>index$_,$/;print~~@F.":\t$_\n$r/$s:\t$t\n";
251.30 Keith Calvert Ivey Sat Jun 1 13:51:05 2002
-p056 sub c{y/aeiouy//.'/'.y/a-z0-9//}$n=@a=split;$o=c
for lc;$_.=$"x(3- y///c)for@a;($s,$t)="@a";$e=$s=~s/(.{57})....?.?\S.*/$1/;$t.=sprintf"%-*s ",y///c>2?y///c:3,c while$_=lc
shift@a,$s=~/\S+/g;$_="$n:^I$s".($e&&'...')."
$o:^I$t
";s/ +$//gm;$_ x=!!$n
252.17 Benoît Chauvet Mon Jun 3 15:49:40 2002
-ln056a sub p{~~s/[ouyaie]/$&/gi."/".s/\w/$&/g}@v=map{$"x length|p}grep{shift@z<57||$z<61}@w=map{$_.=$"x(@z+1^@F&&!/../+!/.../);push@z,$z;$z+=1+length;$_}grep/\w/,@F;
$_="@w";$p=p;61>$z||s/(.{57}).*/$1../;$_=@w.":\t$_.\n$p:\t@v";s/ +$//g;@w&&print;$z=0
I got the -aF way, after all. :)
252.23 seano Tue Jun 4 09:53:31 2002
-l $/=$*;sub v{$_=lc;y/aeiouy//.'/'.y/a-z0-9//}map{@p=map{A.length("$_ "|$"x4)}@w=split;$g=v;$i=($w=pack"@p",@w)=~s|^(.{57})...+\S.*|$1...|?56:60;$_=pack"@p",map{v}@w;s/^(.{0,$i}\S*).*/:\t$w\n$g:\t$1/;s/\s*$//gm;print@w.$_}grep/./,split/(?<=\.)\W+/m,<>
253.20 Eike Grote Tue Jun 4 13:37:10 2002
-ln for(split" "){$t++;$q+=@v=/[aeiouy]/ig;$r+=@c=/[a-z\d]/ig;$w=($n=length($p.=$_))-length($s.=@v."/".@c.$");if(/\.$/){$s=~s/(.{56,}?) .*/$1/,substr($p,57)='.'x3if$n>60;$s=~s/ +$//;print"$t:^I$p
$q/$r:^I$s";$$_=''for(p..t);next}$s.=$"x++$w,$p.=$"x-$w.$"}
253.32 Alain "TopMach" Dupuis Tue Jun 4 12:58:09 2002
-0 for(<>=~/[^.]+/g){my(@r,$p,$t,$v);$_.=' 'x(3-length),$t+=$e=()=/\w/g,$v+=$@=y/aeiouyAEIOUY//."/$e",$@.=' 'x(y///c-length$@),$p.="$_ ",$i=push@r,$@for/\S+/g;$_=$p;s/ +$//;s/(.{57})...+/$1../;$#r=(()=/\w+/g)-1;"@r"=~/ *$/;$t&&print"$i:^I$_.
$v/$t:^I$`
"}
255.18 Sec Thu Jun 6 23:21:29 2002
-ap056 $_=$v=$:=$x=$m=$p="";if(@r=map{$_.=$"x(3*!/\./-length);$:||=$p-($v>56)-($v>60)if(60-$v<($-=length));$p++;$v+=1+$-;$m+=@D=/\w/g;$x+=@C=/[aeiouy]/ig;sprintf"%-$-s",@C."/".@D}@F){$#r=$:if$:;$_="@F";s/(.{57})....+/$1.../;$_="$p:^I$_
$x/$m:^I@r
";s/ +$//}
Compress in golfish-one-line-style. This change is courtesy of perltidy --mangle|perl -pe 's/;}/}/g;s/;\n/;/; Automating this step allows me to continue working on the more-sane-looking version.
256.16 Michael Thelen Mon Jun 3 22:51:56 2002
undef$/;for(<>=~/\G(.*?\.)/sg){$V=$T=$x=$p=$q=$s='';for(@w=split){$V+=$v=@v=/[aeiouy]/ig;$T+=$t=@t=/\w/g;$f="$v/$t";$p.=$"x-$x.$s.$_;$q.=$"x$x.$s.$f;$x=y///c-length$f;$s=$"}$p=~s/(.{57}).{4,}/$1.../&&$q=~s/(.{0,56}\S+).*/$1/;print$z=@w,":\t$p
$V/$T:\t$q
"}
Reduced the code that deals with handling '...'
256.19 Eike Grote Tue Jun 4 12:40:13 2002
-ln for(split/ +/){$t++;$q+=@v=/[aeiouy]/ig;$r+=@c=/[a-z\d]/ig;$w=($n=length($p.=$_))-length($s.=@v."/".@c.$");if(/\.$/){$s=~s/(.{56,}?) .*/$1/,substr($p,57)='.'x3if$n>60;$s=~s/ +$//;print"$t:\t$p
$q/$r:\t$s";$$_=''for(p..t);next}$s.=$"x++$w,$p.=$"x-$w.$"}
256.21 Guillermo Sansovic Sun Jun 2 19:31:35 2002
$/='.';for(<>){/\S/||last;$c=$s="";$x=split;$c.=" "x(length($s)-length$c).&c,$s.=sprintf("%-3s ",$_)for@_;$w=&c;$_=$s;s/ *$//;s/(.{57}).{4,}/$1.../;$n=-1-/ \.{3}/+split;$c=~/(\S+\s+){$n}\S+/;print"$x:^I$_
$w:^I$&
"}sub c{0+s/[aeiouy]/$&/gi.'/'.y/a-zA-Z0-9//}
256.30 Alain "TopMach" Dupuis Tue Jun 4 12:01:16 2002
-0 for(<>=~/[^.]+/g){my(@r,$p,$t,$v);for(/\S+/g){$_.=' 'x(3-length);$t+=$e=()=/\w/g;$v+=$f=y/aeiouyAEIOUY//."/$e";$f.=' 'x(y///c-length$f);$p.="$_ ";$i=push@r,$f}$_=$p;s/ +$//;s/(.{57})...+/$1../;$#r=(()=/\w+/g)-1;"@r"=~/ *$/;$t&&print"$i:^I$_.
$v/$t:^I$`
"}
256.30 Jay Tilton Wed Jun 5 22:44:13 2002
$/='.';sub c{local$_=lc;y/aeiouy//.'/'.y/a-z0-9//}while(<>){$w=split||next;($x,$y)=();map{$x.=$_.$";$y.=&c.$";($d=length($x)-length$y)>0?$y:$x.=$"x abs$d}@_;$x=~s/(.{57})..[^\.]..+/$1.../&&substr($y,56)=~s/ .*//;s/ +$//for$x,$y;print"$w:\t$x
",&c,":\t$y
"}
Futzed with it for hours before getting something that worked at ALL, and it boiled down to this piece of puke. I intensely dislike this hole. Participation was a difficult decision.
257.23 seano Tue Jun 4 09:31:04 2002
-l $/=$*;sub v{$_=lc;y/aeiouy//.'/'.y/a-z0-9//}map{@p=map{A.(4>($l=length)?4:1+$l)}@w=split;$g=v;$i=($w=pack"@p",@w)=~s|^(.{57})...+\S.*|$1...|?56:60;$_=pack"@p",map{v}@w;s/^(.{0,$i}\S*).*/@w.":\t$w\n$g:\t$1"/e;s/\s*$//gm;print}grep/./,split/(?<=\.)\W+/m,<>
258.19 David Lowe Thu Jun 6 03:25:37 2002
-0n sub t{--$|?D:B}map{$$_=''for B..Z;map{$Q+=$q=lc=~y/aeiouy//;$Z+=$z=y#"-/:-@##c;${L.t}=length$$_ for D,B;${+t}.=$"x(${L.t}-${L.t}).($C?$":":\t").$_ for$_,"$q/$z";$D=~s/(.{59})....+/$1.../&&$B=~s/(.{0,58}\S+).*/$1/;++$C}split;print"$C$D
$Q/$Z$B
"}/[^.]*./g
258.20 Eike Grote Tue Jun 4 11:42:44 2002
-ln for(split/ +/){$t++;$q+=@v=/[aeiouy]/ig;$r+=@c=/[a-z\d]/ig;$w=($n=length($p.=$_))-length($s.=@v."/".@c.$");if(/\.$/){$s=~s/(.{56,}?) .*/$1/,substr($p,57)='.'x3if$n>60;$s=~s/ +$//;print"$t:\t$p\n$q/$r:\t$s";$$_=''for(p..t)}else{$s.=$"x++$w,$p.=$"x-$w.$"}}
259.30 Eugene van der Pijll Sat Jun 1 02:56:07 2002
-n056 sub e{1*lc=~y/aeiouy//."/".s/\w/$&/g}if(split){$w=@_;$a=$b='';$a.=$_,$b.=e,$a.=$"x($d=$b=~y///c-length$a).$",$b.=$"x-$d.$"for@_;s/ +$//,s/([^ ].{56}).{4,}/$1/&&($q=split,$b=~s/(([^ ]+ +){$q}).*/$1/e,s/$/.../)for$a;$b=~s/ +$//;print "$w:^I$a
",e,":^I$b
"
}
262.20 David Lowe Wed Jun 5 00:21:41 2002
-nal map{$d+=$v=lc=~y#aeiouy##;$q+=$l=y#"-/:-@##c;$s=/\./?'':$";$G=$_;$n=length($B="$v/$l");$z=y###c;$$_.=sprintf"%-*s$s",$s?$z>$n?$z:$n:0,${+uc}for g,b;if(++$c,!$s){$g=~s#(.{57})....+#$1...#&&$b=~s#(.{0,56}\S+).*#$1#;print"$c:\t$g
$d/$q:\t$b";$$_=''for b..z}}@F
262.26 Mtv Europe Sat Jun 1 15:28:20 2002
-ap056 $B{$_}=1*s/[aeiouy]/$&/ig.'/'.1*s/\w/$&/gfor$_,@F;$B=$A=':^I';$D=length$A,$E=length$B,$C=$D>$E?$D:$E,$C+=$D>2,$A.=$"x($C-$D).$_,$B.=$"x($C-$E).$B{$_}for@F;pos$A=59;pos$B=59;$A=~s/\G....+/.../&&$B=~s/\s+\G.*//||$B=~s/\G(\S+).*/$1/;$_=@F?@F."$A
$B{$_}$B
":''
1) to run from beginner 2) to test \t 3) panic!
262.29 Alain "TopMach" Dupuis Tue Jun 4 11:25:03 2002
-0 for(<>=~/[^.]+/g){my(@r,$p,$t,$v);for(/\S+/g){$_.=' 'x(3-length);$t+=$e=()=/\w/g;$v+=$f=y/aeiouyAEIOUY//."/$e";$f.=' 'x(y///c-length$f);$p.="$_ ";$i=push@r,$f}$_=$p;s/ +$//;s/(.{57})...+/$1../;$#r=(()=/\w+/g)-1;"@r"=~/ *$/;$r=$`;$t&&print"$i:^I$_.
$v/$t:^I$r
"}
263.17 Benoît Chauvet Mon Jun 3 15:13:16 2002
-ln056 sub p{~~s/[ouyaie]/$&/gi."/".s/\w/$&/g}@v=map{$"x length|p}grep{shift@z<57||$z<62}@w=map{$_.=$"x(!/\./*(!/../+!/.../));push@z,$z;$z+=1+length;$_}grep/\w/,split/\s+/,"$_.";$_="@w";$p=p;62>$z||s/(.{57}).*/$1.../;$_=@w.":\t$_\n$p:\t@v";s/ +$//g;@w&&print;$z=0
I messed with the -a and -F cl options ! Soooo stupid ! :)
266.17 Michael Thelen Mon Jun 3 21:53:48 2002
undef$/;for(<>=~/\G(.*?\.)/sg){$V=$T=$x=$p=$q=$s='';for(@w=split){$V+=$v=@v=/[aeiouy]/ig;$T+=$t=@t=/\w/g;$f="$v/$t";$p.=$"x-$x.$s.$_;$q.=$"x$x.$s.$f;$x=y///c-length$f;$s=$"}length$p<61or substr($p,57)='.'x3,$q=~s/(.{0,55} \S+).*/$1/;print$z=@w,":\t$p\n$V/$T:\t$q\n"}
Removed some duplicated functionality, more stroke shaving. Looking for a hidden breakthrough.
266.20 David Lowe Wed Jun 5 00:07:12 2002
-na map{$d+=($v=lc=~y#aeiouy##);$q+=($l=y#"-/:-@##c);$s=/\./?'':$";$G=$_;$n=length($B="$v/$l");$z=y###c;$$_.=sprintf"%-*s$s",$s?$z>$n?$z:$n:0,${+uc}for g,b;if(++$c,!$s){$g=~s#(.{57}).{4,}#$1...#&&$b=~s#(.{0,56}\S+).*#$1#;print"$c:\t$g
$d/$q:\t$b
";$$_=''for b..z}}@F
267.24 Amir Karger Tue Jun 4 14:17:18 2002
-p056 sub g{y/aeiouyAEIOUY//."/".s/\w/$&/g}
sub p{sprintf("%-*s",$m*!/\.$/,$_[0])}
split||exit;
$x=$w=$"="";
map{$m=($l=length)>3?$l+1:4;$x.=p$_;$_=p g}(@_);
$x=~s/(.{57})....+/$1.../;
$w=$x=~s/ +(?!\.+$)/$&/g;
$w="@_[0..$w]";
$w=~s/ +$//;
$_=@_.":\t$x\n".g.":\t$w\n"
I'm starting to feel a bit less embarrassed about my score. I fear we're going to need an algorithm change soon, though.
268.18 Eike Grote Tue Jun 4 09:03:54 2002
-ln for(split/ +/){$t++;$b+=$v=()=/[aeiouy]/ig;$m+=$c=()=/[a-z\d]/ig;$w=($n=length($p.="$_ "))-length($z.="$v/$c ");$z.=$"x$w,$p.=$"x-$w;if(/\.$/){$z=~s/(.{56}.*?) .*/$1/,substr($p,57)='.'x3if$n>61;$p=~s/ +$//;$z=~s/ +$//;print"$t:\t$p\n$b/$m:\t$z";$p=$z=$t=$b=$m=''}}
268.19 RRBuonanno Tue Jun 4 00:23:58 2002
-0 map{($z,@c)=map{sprintf"%-*s",length,(@x=/[aeiouy]/ig).'/'.(@x=/\w/g)}$_,@w=split;map{$_=sprintf"%-3s",$_}@w[0..@w-2];substr($_,57)='...'if length($_="@w")>60;
$z=~s/ //g;($_=@w.":^I$_
$z:^I@c[0..($q=@x=/ \S(?!\.\.$)/g)]
")=~s/ *$//gm;print if@w}split/(?<=\.)\s+/,<>;
OK, I'm confident I got it right this time. :-) But it's still overweight. :-(
269.18 Eike Grote Tue Jun 4 08:45:47 2002
-ln for(split/ +/){$t++;$b+=$v=()=/[aeiouy]/ig;$m+=$c=()=/[a-z\d]/ig;$w=($n=length($p.="$_ "))-length($z.="$v/$c ");$z.=$"x$w,$p.=$"x-$w;if(/\.$/){$z=~s/^(.{56}.*?) .*/$1/,substr($p,57)='.'x3if$n>61;$p=~s/ +$//;$z=~s/ +$//;print"$t:\t$p\n$b/$m:\t$z";$p=$z=$t=$b=$m=''}}
269.29 Alain "TopMach" Dupuis Mon Jun 3 15:05:14 2002
-0 for(<>=~/[^.]+/g){my(@r,$p,$t,$v);for(/\S+/g){$_.=' 'x(3-length);$t+=$e=()=/\w/g;$v+=$f=y/aeiouyAEIOUY//."/$e";$f.=' 'x(y///c-length$f);$p.="$_ ";$i=push@r,$f}$_=$p;s/ +$//;/(.{57}).../and$_="$1..";$#r=(()=/\w+/g)-1;$r="@r";$r=~s/ +$//;$t&&print"$i:^I$_.
$v/$t:^I$r
"}
This one has all the vowels... lower and upper. :)
270.21 Guillermo Sansovic Sun Jun 2 18:43:44 2002
$/='.';for(<>){/\S/||last;$c=$s="";for(split){$c.=" "x(length($s)-length$c).&c;$s.=sprintf("%-3s ",$_)}$s=~s/ *$//;$s=~s/(.{57}).{4,}/$1.../;$n=-1-$s=~/ \.\.\./+split" ",$s;$c=~/(\S+\s+){$n}\S+/;print~~split,":^I$s
",&c,":^I$&
"}sub c{0+s/[aeiouy]/$&/gi.'/'.y/a-zA-Z0-9//}
270.22 seano Tue Jun 4 08:45:53 2002
-l $/=$*;sub v{(@x=/[aeiouy]/gi).'/'.(@x=/[a-z\d]/gi)}map{$g=v;@p=map{A.(4>($l=length)?4:1+$l)}@w=split;$i=(($w=pack"@p",@w)=~s|^(.{57})...+\S.*|$1...|)?56:60;$_=pack"@p",map{v}@w;s/^(.{0,$i}\S*).*/@w.":\t$w\n$g:\t$1"/e;s/\s*$//gm;print}grep/./,split/(?<=\.)[\s\n]+/m,<>
270.28 Yanick Champoux Mon Jun 3 14:30:28 2002
-p056 sub
t{local$_=lc
pop;y/aeiyou//.'/'.(@a=/\w/g)}($y=$_=join$",map$_.$"x(3- y///c),split)=~s/\S..?\S*/t($&).($"x(length($&)-length t$&))/eg;s/ +$//;$q=@a=/\S+/g;$w=t$_;/.{1,57}/;$_="$&..."if 3<length($');$x=@a=/\w\S*/g;$y=~/(\s*\d+\/\d+){$x}/;$_="$q:^I$_
$w:^I$&
"if$_
Ah! Benoit, ce gredin, ne me battra point, morbleu!
270.29 Martin Carlsen Tue Jun 4 12:42:12 2002
sub c{y/aeiouyAEIOUY//."/".y/a-zA-Z0-9//}$_=join"",<>;s/\s+/ /gs;s/^\s+//;map{@w=split/ /;$x=c;$c=join" ",map{$p=length()-length c;$_.=" "x-$p;c." "x$p}@w;$_=join" ",@w;s/ *$//;s/^(.{57})...+/$1../&&$c=~s/^(.{56}\S*).*/$1/;$c=~s/ *$//;print@w.":^I$_.
$x:\t$c
"}split/\. /
272.23 Benoît Chauvet Mon Jun 3 13:48:08 2002
-aln056F sub p{~~y/ouyaieOUYAIE//."/".s/\w/$&/g}map{@v=map{$"x length|p}grep{shift@z<57||$z<62}@w=map{$_.=$"x(!/\./*(!/../+!/.../));push@z,$z;$z+=1+length;$_}grep/\w/,split/\s+/,"$_.";$_="@w";$p=p;62>$z||s/(.{57}).*/$1.../;$_=@w.":\t$_\n$p:\t@v";s/ +$//g;@w&&print;$z=0}@F
I must insist. :( I tested this one on : Windows with Active Perl 5.6.1 Linux RedHat with official Perl 5.6.1 I used the last test script... I'm sure it works !
272.30 David Lowe Tue Jun 4 23:56:34 2002
-na map{$d+=($v=y#aeiouyAEIOUY##);$q+=($l=y#"-/:-@##c);$s=/\./?'':$";$A=$_;$n=length($B="$v/$l");$z=y###c;$$_.=sprintf"%-*s$s",$s?$z>$n?$z:$n:0,${+uc}for a,b;if(++$c,!$s){$a=~s#(.{57}).{4,}#$1...#&&$b=~s#(.{0,56}\d+/\d+).*#$1#;print"$c:\t$a
$d/$q:\t$b
";$$_=''for a..z}}@F
272.31 Bruce Gray Tue Jun 4 19:47:02 2002
-na056 if($c=@F){$^A=$:='';$_.=$"x(3-length)for@F[0..@F-2];$h{$_}=$u=y/AEIOUYaeiouy//.'/'.y/A-Za-z0-9//for@F,lc;$h{$_}.=$"x(length($_)-length$h{$_})for@F;formline'^'.'<'x56 .'...',"@F";$_=$^A;$#F=split;$#F--;/ \.{3}$/&&$#F--;$z="@h{@F}";$z=~s/\s+$//;print"$c:^I$_
$u:^I$z
"}
272.35 Keith Calvert Ivey Sat Jun 1 05:09:51 2002
-n056 $n=@a=split or next;$o=lc=~y/aeiouy//.'/'.lc=~y/a-z0-9//;$_.=$"x(3- y///c)for@a;$s="@a";$e=$s=~s/(.{57})....?.?\S.*/$1/;$t='';$t.=sprintf"%-*s ",y///c>2?y///c:3,y/aeiouy//.'/'.y/a-z0-9//while$_=lc
shift@a,$s=~/\S+/g;$_="$n:^I$s".($e&&'...')."
$o:^I$t
";s/ +$//gm;print
It's too late at night to refine this, but it's shorter than Eugene's (the only one on the board), and it finally works. I suspect the rules and test need to include something about the significance of paragraphs, but they don't at the moment.
273.34 Scott Hall Wed Jun 5 03:43:36 2002
-nla0056  if($h=pop@F){my$f;map$f.="%-".(($l=length)<3?3:$l)."s ",@F;push@F,$h;print@F.":^I",map({$s=s/(.{57})...+/$1../;$_}sprintf"$f%s",@F),".";$_=sprintf y/aeiouyAEIUOY//."/".s/\w//gi.":^I$f%s",map{y/aeiouyAEIUOY//."/".s/\w//gi}@F;s/(^I.*?.{56}) ..+/$1/ if$s;s/ *$//;print}
274.34 David Lowe Tue Jun 4 23:44:24 2002
-na map{$d+=($v=y#aeiouyAEIOUY##);$e+=($l=y#"-/:-@##c);$z=y###c>($n=length($B="$v/$l"))?y###c:$n;$s=/\./?'':$";$A=$_;$$_.=sprintf"%-*s$s",$s?$z:0,${+uc}for a,b;if(++$c,!$s){$a=~s#(.{57}).{4,}#$1...#&&$b=~s#(.{0,56}\d+/\d+).*#$1#;print"$c:\t$a
$d/$e:\t$b
";$$_=''for a..e}}@F
274.34 Scott Hall Wed Jun 5 03:42:25 2002
-nla0056  if($h=pop@F){my$f;map$f.="%-".(($l=length)<3?3:$l)."s ",@F;push@F,$h;print@F.":\t",map({$s=s/(.{57})...+/$1../;$_}sprintf"$f%s",@F),".";$_=sprintf y/aeiouyAEIUOY//."/".s/\w//gi.":^I$f%s",map{y/aeiouyAEIUOY//."/".s/\w//gi}@F;s/(^I.*?.{56}) ..+/$1/ if$s;s/ *$//;print}
276.27 Yanick Champoux Mon Jun 3 13:42:56 2002
-p056 sub
t{local$_=lc
pop;y/aeiyou//.'/'.(@a=/\w/g)}($y=$_=join$",map$_.($"x(3- y///c)),split)=~s/\S..?\S*/t($&).($"x(length($&)-length t($&)))/eg;s/ +$//;$q=@a=/\S+/g;$w=t$_;/.{1,57}/||next;$_="$&..."if 3<length($');$x=@a=/\w\S*/g;$y=~/(\s*\d+\/\d+){$x}/;$_="$q:^I$_
$w:^I$&
"
There must be a way to change all of this goodle for some sprintf formatting...
276.34 David Lowe Tue Jun 4 22:57:59 2002
-na map{$d+=($v=y#aeiouyAEIOUY##);$e+=($l=y#a-zA-Z0-9##);$z=y###c>($n=length($B="$v/$l"))?y###c:$n;$s=/\./?'':$";$A=$_;$$_.=sprintf"%-*s$s",$s?$z:0,${+uc}for a,b;if(++$c,!$s){$a=~s#(.{57}).{4,}#$1...#&&$b=~s#(.{0,56}\d+/\d+).*#$1#;print"$c:\t$a
$d/$e:\t$b
";$$_=''for a..e}}@F
277.23 Honza Pazdziora Wed Jun 5 11:52:15 2002
-056n sub d{return y!aeiouyAEIOUY!!.'/'.s!\w!$&!g for@_}my($m,$p,$x);for(/(\S+)/g){$m++;$x.=$c=sprintf'%-*s ',length,d$_;$p.=sprintf'%-*s ',length($c)-1,$_ }$p=~s/\s+$//;$p=~s/(.{57}).{4,}/$1.../and$x=~s/((.{56}).*?) .*/$1   /;$x=~s/\s+$//;print$m,":\t$p\n",d($_),":\t$x\n"if$m
277.23 Damien Neil Fri Jun 7 23:08:36 2002
-n0 sub X{local$_=lc$_[0];y/aeiouy/a/."/".y/a-z0-9/b/}for(split/(?<=\.)\s*/){$o=X $_
;$c=s/\s*(\S+)/sprintf"%-3s ",$1/ge;($x=$_)=~s/\S+\s*/sprintf"%*s",$-[0]-$+[0],X
($&)/ge;s/(.{57})...+\S/$1.../&&$x=~s/(.{57})(?<= )\S.*/$1/;for($_,$x){s/\s*$//}
$c&&print"$c:\t$_\n$o:\t$x\n"}
278.16 Mtv Europe Sat Jun 1 08:40:18 2002
-lp056 split||exit;$v{$_}=1*s/[aeiouy]/$&/ig.'/'.1*s/\w/$&/gfor$_,@_;$v=$n=":\t";$N=length$n,$V=length$v,$M=$N>$V?$N:$V,$M+=$N>2,$n.=$"x($M-$N).$_,$v.=$"x($M-$V).$v{$_}for@_;$n.='.';pos$n=59;pos$v=59;$n=~s/\G....+/.../&&$v=~s/\s+\G.*//c||$v=~s/\G(\S+).*/$1/;$_=@_."$n\n$v{$_}$v"
278.35 David Lowe Tue Jun 4 22:54:10 2002
-na map{$d+=($v=y#aeiouyAEIOUY##);$e+=($l=y#a-zA-Z0-9##);$z=y###c>($n=length($B="$v/$l"))?y###c:$n;$s=/\./?'':$";$A=$_;$$_.=sprintf"%-*s$s",$s?$z:0,${+uc}for a,b;if(++$c,!$s){$b=~s#(.{0,56}\d+/\d+).*#$1# if$a=~s#(.{57}).{4,}#$1...#;print"$c:\t$a
$d/$e:\t$b
";$$_=''for(a..e)}}@F
279.27 Yanick Champoux Mon Jun 3 12:01:56 2002
-p056 sub t{local$_=lc
pop;y/aeiyou//.'/'.(@a=/\w/g)}($y=$_=join$",map$_.($"x(3- y///c)),split)=~s/\S..?\S*/t($&).($"x(length($&)-length t($&)))/eg;s/\s+$//;$q=@a=/\S+/g;$w=t($_);/.{1,57}/||next;$_="$&..."if 3<length($');$x=@a=/\w\S*/g;$y=~/(\s*\d+\/\d+){$x}/;$_="$q:^I$_
$w:^I$&
"
280.26 Guillermo Sansovic Sun Jun 2 17:31:28 2002
$/='.';for(<>){/\S/||last;$c=$s="";for(split){$c.=" "x(length($s)-length$c).&c;$s.=sprintf("%-3s ",$_)}$s=~s/ *$//;$s=~s/(.{57}).{4,}/$1.../;$n=-1-$s=~/ \.\.\./+split" ",$s;$c=~/(\S+\s+){$n}(\S+)/;print~~split,":^I$s
",&c,":^I$&
"}sub c{($w=$_)=~y/aeiouyAEIOUY//.'/'.y/a-zA-Z0-9//;}
281.39 Eike Grote Tue Jun 4 07:25:37 2002
-ln for(split/ +/){$y++;$a+=$v=()=/[aeiouy]/ig;$e+=$c=()=/[[:alnum:]]/g;$i=length($t.="$_ ");$o=length($u.="$v/$c ");$u.=$"x($i-$o),$t.=$"x($o-$i);if(/\.$/){$u=~s/^(.{56}.*?) .*/$1/,substr($t,57)='...'if$i>61;$t=~s/ +$//;$u=~s/ +$//;print"$y:\t$t\n$a/$e:\t$u";$t=$u='';$y=$a=$e=0}}
Second try of submitting this one-liner...
282.24 Honza Pazdziora Tue Jun 4 18:24:13 2002
-056n sub d{return y!aeiouyAEIOUY!!.'/'.y!a-zA-Z0-9!!for@_}$m=0;$p=$x='';for(/(\S+)/g){$m++;$x.=$c=sprintf'%-*s ',length,d$_;$p.=sprintf'%-*s ',length($c)-1,$_;}$p=~s/\s+$//;$p=~s/(.{57})....+/$1.../and$x=~s/((.{56}).*?) .*/$1   /;$x=~s/\s+$//;print $m,":\t$p\n",d($_),":\t$x\n"if$m
285.48 Scott Hall Tue Jun 4 20:33:01 2002
-nla0056 y/
 / /s;$v=y/aeiouyAEIUOY//."/".y/a-zA-Z0-9//;s/(^| )\S/ @/g;y/ .@/</c;s/@<? (?!$)/@<< /g;s/ *//;if(@F){formline@F.":^I$_.
$v:^I$_<<",@F,map{y/aeiouyAEIUOY//."/".y/a-zA-Z0-9//}@F;$^A=~s/(^I.{57})....+(?=
.)/$1.../;$^A=~s/(\.{3}
.+^I.*?.{56}) ..+/$1/;$^A=~s/ *$//;print$^A;$^A=''}
286.23 pom Sat Jun 1 14:33:38 2002
-ln0777 map{if(@s=/\S+/g){$V=$L=@S=@C=();map{$V+=$v=y/aeiouyAEIOUY//;$L+=$l=y/a-zA-Z0-9//;$p=y///c-length($k="$v/$l");push@S,$_.$"x-$p;push@C,$k.$"x$p}@s;$_="@S";s/\s*$/./;s/(.{57}).{4,}/$1.../;$k=@S=split;($c="@C[0..$k-$S[--$k]!~/\w/]")=~s/\s*$//;print@s.":\t$_\n$V/$L:\t$c"}}split/\./
Whew, under the 300 mark!
286.38 Martin Carlsen Sun Jun 2 10:28:42 2002
sub o{y/aeiouyAEIOUY//."/".y/a-zA-Z0-9//}$_=join"",<>;s/\s+/ /gs;s/^\s*//s;map{@e=split/ /;$i=o;$o=join" ",map{o." "x(length()-length(o))}@e;s/(?<= )(\S) /$1
  /g;s/(?<= )(\S\S) /$1  /g;s/^(.{57})...+/$1../&&$o=~ s/^(.{56}\S*).*/$1/;$o=~ s/ *$//;print@e.":\t$_.\n$i:\t$o\n"}split/\.\s*/
287.19 Benoît Chauvet Mon Jun 3 08:16:10 2002
-aln056F sub p{$x=lc;~~$x=~y/ouyaie//."/".$x=~y/a-z0-9//}map{@v=map{$"x length|p}grep{shift@z<57||$z<62}@w=map{$_.=$"x(!/\./*(!/../+!/.../));push@z,$z;$z+=1+length;$_}grep/\w/,split/\s+/,"$_.";$_="@w";$p=p;61>length||s/(.{0,57}).*/$1.../;$_=@w.":\t$_\n$p:\t@v";s/ +$//g;@w&&print;$z=0}@F
Under the 300 stokes limit. Yes ! Yes ! Yes ! :)
287.27 Bruce Gray Tue Jun 4 02:32:01 2002
-na056 if(/\S/){$_.=$"x(3-length)for@F[0..$#F-1];$h{$_}=$u=y/AEIOUYaeiouy//.'/'.y/A-Za-z0-9//for@F,$_;$h{$_}.=$"x(length($_)-length$h{$_})for@F;$_="@F";$c=@F;if(length>60){$#F--while length"@F[0..$#F-1]">55;$_="@F ";substr($_,57)='...'}s/\s+$//for$_,$h{$F[-1]};print"$c:^I$_
$u:^I@h{@F}
"}
288.34 David Lowe Tue Jun 4 04:22:06 2002
-na map{$d+=($v=y#aeiouyAEIOUY##);$e+=($l=y#a-zA-Z0-9##);$z=y###c>($n=length($B="$v/$l"))?y###c:$n;$s=/\./?'':$";$A=$_;$$_.=sprintf"%-*s$s",$s?$z:0,${+uc}for a,b;if(++$c,!$s){$a=~s#(.{57}).*#$1...#,$b=~s#(.{0,56}\d+/\d+).*#$1# if length$a>60;print"$c:\t$a
$d/$e:\t$b
";$$_=''for(a..e)}}@F
289.21 Michael Thelen Mon Jun 3 20:45:36 2002
undef$/;for(<>=~/\G(.*?\.)/sg){$V=$T=$x=$p=$q=$i='';for(@w=split){$V+=$v=@v=/[aeiouy]/ig;$T+=$t=@t=/\w/g;$f="$v/$t";$p.=$",$q.=$"if$i;($x<0?$p:$q).=$"x abs$x;$p.=$_;$q.=$f;$x=y///c-$f=~y///c;$i++}length$p<61or substr($p,57)='...',$q=~s/(.{0,55} \S+).*/$1/;print$z=@w,":\t$p\n$V/$T:\t$q\n"}
More incremental gains.
290.21 seano Tue Jun 4 07:35:09 2002
-l $/="";sub v{(@x=/[aeiouy]/gi).'/'.(@x=/[a-z\d]/gi)}map{($g,$p)=v;$_=pack$p,map{$p.=A.++(($l=length)>($L=length($v=v))?$l:$L);$v}@w=split;$i=(($w=pack$p,@w)=~s/^(.{57})...+\S.*/$1.../)?56:60;s/^(.{$i}\S*).*/$1/gm;($_=@w.":\t$w\n$g:\t$_")=~s/\s*$//gm;print}map{split/(?<=\.)[\s\n]+/m,$_}<>
290.26 Ross Younger Fri Jun 7 08:36:09 2002
-ln $b.=$".$_}map{if(s/\s*(\S.*)/$1\./){split/\s+/;$x=@_.":^I";$z=&Q.":^I";map{$c=y///c-length&Q;$x.=$_.$"x($c<0?1-$c:1);$z.=&Q.$"x($c<0?1:1+$c)}@_;$_="$x
$z";s/ *
/
/;s!(^\d+:^I.{57}).{4,}!$1...!&&s,(/.+:^I.{56}[^ ]*).*$,$1,;s, *$,,;print}}split/\./,$b;sub
Q{y/aeiouyAEIOUY//.'/'.y/a-zA-Z0-9//
292.18 Sec Thu Jun 6 23:18:09 2002
-ap056 
^I$_=$v=$:=$x=$m=$p="";

if(@r=map{
^I^I$_.=$"x(3*!/\./-length);

^I^I$:||=$p-($v>56)-($v>60)if(60-$v<($-=length));
^I^I$p++;
^I^I$v+=1+$-;

^I^I$m+=@D=/\w/g;
^I^I$x+=@C=/[aeiouy]/ig;

^I^Isprintf"%-$-s",@C."/".@D;
^I}@F){

^I$#r=$:if$:;
^I$_="@F";s/(.{57})....+/$1.../;
^I$_="$p:^I$_
$x/$m:^I@r
";
^Is/ +$//;
};
Traded the print for a -p switch for a small gain. Renamed a few variables (see artistic solution for the reason)
292.33 David Lowe Tue Jun 4 04:02:39 2002
-na map{$j+=($v=y#aeiouyAEIOUY##);$k+=($l=y#a-zA-Z0-9##);$c=y###c>($n=length($B="$v/$l"))?y###c:$n;/\./?$c=$s='':$s=$";$A=$_;$$_.=sprintf"%-*s$s",$c,${+uc}for(a,b);if(++$i,!$s){$a=~s#(.{57}).*#$1...#,$b=~s#(.{0,56}\d+/\d+).*#$1# if length$a>60;print"$i:\t$a
$j/$k:\t$b
";$i=$j=$k=$a=$b=''}}@F
294.16 Sec Wed Jun 5 21:31:49 2002
-an056 
^I$v=$p=$x=$b=$z=0;

^I^I$r[$#r=$p||$#F]=~s/ +$//,

^I^I($_="@F")=~s/(.{57})....+/$1.../,
^I^Iprint "$z:^I$_
$x/$b:^I@r
"if@r=map{
^I^I$_.=$"x(3*!/\./-length);

^I^I$p||=$z-($v>56)-($v>60)if(60-$v<($-=length));
^I^I$z++;
^I^I$v+=1+$-;

^I^I$b+=@D=/\w/g;
^I^I$x+=@C=/[aeiouy]/ig;

^I^Isprintf"%-$-s",@C."/".@D;
^I}@F;
Optimize the next if ... Optimize the cutting off, and a few assignments. I still think I'm missing somthing as I'm shaving off single chars while still over 100 behind the lead...
294.26 Guillermo Sansovic Sun Jun 2 14:05:59 2002
$/='.';for(<>){/\S/||last;$c=$s="";for(@w=split){$c.=" "x(length($s)-length$c).c($_);$s.="$_ "." "x(3-length)}$s=~s/ *$//;$s=~s/(.{57}).{3}.+/$1.../;$n=-1-$s=~/ \.\.\./+split" ",$s;$c=~/(\S+\s+){$n}(\S+)/;print~~@w,":\t$s
",c($_),":\t$&
"}sub c{($_=$w=pop)=~y/aeiouyAEIOUY//.'/'.y/a-zA-Z0-9//;}
295.26 Yanick Champoux Sat Jun 1 17:39:26 2002
-n0 sub t($){local$_=lc
pop;y/aeiyou//.'/'.(@a=/\w/g)}map{s/(\S+)\s+/"$1 ".(" "x(3-length$1))/eg;($y=$_)=~s/\S..?\S*/(t$&).(' 'x(length($&)-length t$&))/eg;$s=$_;/.{0,57}/;$_="$&..."if 3<length$';$x=@a=/\w\S*/g;$y=~/(\s*\d+\/\d+){$x}/;$y=$&;print~~(@a=$s=~/\S+/g),":^I$_
",t$s,":^I$y
"}/\w.*?\./sg
I feel silly optimizing a solution that so obviously needs a total rewrite...
297.25 Amir Karger Tue Jun 4 13:58:37 2002
-p056 sub g{y/aeiouyAEIOUY//."/".s/\w/$&/g}
sub p{sprintf("%-*s",$m*!/\.$/,$_[0])}
split||exit;
$x=$w="";
map{$m=($l=length)>3?$l+1:4;$x.=p$_;$_=p g}(@_);
$x=~s/(.{57})....+/$1.../;
while($x=~/\b\S+(([^.]?)\.+$)?/g){$w++if$1||!$2}
$w=join("",@_[0..$w-1]);
$w=~s/\s+$//;
$_=@_.":\t$x\n".g.":\t$w\n"
We've broken the 300 barrier (with a slight change in algorithm). Only 150 more characters to go!
298.24 Michael Thelen Mon Jun 3 19:27:59 2002
undef$/;for(<>=~/\s*(.*?\.)/sg){my($V,$T,$x,$p,$q);for(@w=split){$V+=$v=y/aeiouyAEIOUY//;$T+=$t=s/\w/$&/g;$f="$v/$t";$p.=$",$q.=$"if defined$x;($x<0?$p:$q).=$"x abs$x;$p.=$_;$q.=$f;$x=y///c-$f=~y///c}$p=~s/(.{57}).*/$1.../,$q=~s/(.{0,55}\s\S+).*/$1/ if length$p>60;print$z=@w,":\t$p\n$V/$T:\t$q\n"}
Just some stroke shaving. I have too many named variables. And I'll want to replace \t and \n with literal tabs and newlines.
302.25 nashdj Thu Jun 6 07:27:15 2002
$/=$;;for(<>=~/[^\n ]+/g){$v+=@a=/[aeiouy]/gi;$t+=@z=/\w/g;@q=/./g;$,=' ';$,x=3if@q==1;$,x=2if@q==2;$x.=$_.$,;push@;,@a.'/'.@z;$n++;if(/\./){$_=$x;s/ +$//&s/^(.{57}).{4,}/$1.../;$y=$_;$y=~s/.*?[. ]+/sprintf'%-'.(length$&).'s',shift@;/ge;s/ +$//for$y,$_;print"$n:\t$_\n$v/$t:\t$y\n";($n,$v,$t,$x,@;)=0}}
302.30 David Lowe Tue Jun 4 01:07:46 2002
-na for(@F){$j+=($v=y#aeiouyAEIOUY##);$k+=($l=y#a-zA-Z0-9##);$c=y###c>($n=length($B="$v/$l"))?y###c:$n;/\.$/?$c=$s='':$s=$";$a.=sprintf"%-*s$s",$c,$_;$b.=sprintf"%-*s$s",$c,$B;if(++$i,!$s){$a=~s#(.{57}).*#\1...#,$b=~s#(.{0,56}\d+/\d+).*#\1# if length$a>60;print"$i:\t$a
$j/$k:\t$b
";$i=$j=$k=$a=$b=''}}
302.49 Scott Hall Mon Jun 3 21:27:04 2002
$/=".";map{chop;y/
 / /s;split;$v=y/aeiouyAEIUOY//."/".y/a-zA-Z0-9//;s/(^| )\S/ @/g;y/ .@/</c;s/@<? (?!$)/@<< /g;s/ *//;if(@_){formline@_.":^I$_.
$v:^I$_<<
",@_,map{y/aeiouyAEIUOY//."/".y/a-zA-Z0-9//}@_;$^A=~s/(^I.{57})....+(?=
.)/$1.../;$^A=~s/(\.{3}
.+^I.*?.{56}) ..+/$1/;$^A=~s/ *$//;print$^A;$^A=''}}<>
303.16 Honza Pazdziora Tue Jun 4 18:11:10 2002
-056n sub d{$v=$l=0;map{$l++;$v++if/[aeiouy]/i}$_[0]=~/(\w)/g;"$v/$l"}
(@w=/(\S+)/g)||next;
$p=$x='';
for(@w){$x.=$c=sprintf'%-*s ',length,d$_;$p.=sprintf'%-*s ',length($c)-1,$_;}
$p=~s/\s+$//;
$p=~s/(.{57})....+/$1.../and$x=~s/((.{56}).*?) .*/$1   /;
$x=~s/\s+$//;
print 0+@w,":\t$p\n",d($_),":\t$x\n";
303.21 pom Sat Jun 1 13:48:08 2002
-ln0777 for(split/\./){(@s=/\S+/g)||last;$V=$L=@S=@C=();for(@s){$V+=$v=y/aeiouyAEIOUY//;$L+=$l=y/a-zA-Z0-9//;$k="$v/$l";$p=length($k)-length;push@S,$_.$"x$p;push@C,$k.$"x-$p}($_="@S")=~s/\s*$/./;s/(.{57}).{4,}/$1.../;$k=@S=split;$k-=$S[--$k]!~/\w/;($c="@C[0..$k]")=~s/\s*$//;print@s.":\t$_\n$V/$L:\t$c"}
305.27 Alain "TopMach" Dupuis Sun Jun 2 02:12:23 2002
-0 sub v{y/aeiouyAEIOUY//}$_=<>;for(grep/\S/,/[^.]+/g){my(@r,$i,$p,$t);for(/\S+/g){$t+=$e=()=/\w/g;$f=v."/".$e;$_.=' 'x(3-length);$f.=' 'while length>length$f;$p.="$_ ";push@r,$f;$i++}$p=~s/ +$//;$p=~s/(.{57}).*/$1../ if 59<length$p;@n=$p=~/\w+/g;$#r=@n-1;$r="@r";$r=~s/ +$//;print"$i:^I$p.
",v,"/$t:^I$r
"}
305.34 Erik Johansen Fri Jun 7 20:00:56 2002
-n map{$a.=" ",$b.=" "if$a;$f=length($a)-length$b;$a.=" "x-$f;$b.=" "x$f;$u+=$v=y*aeiouyAEIOUY**;$c+=$l=y*a-zA-Z0-9**;$w++;$a.=$_;$b.="$v/$l";/\./&&do{substr($a,57)="..."if 60<length$a;$a=~/\w+\W+$/,$z=length$`,$b=~s/^(.{$z}\S*).*/$1/;print"$w:\t$a\n$u/$c:\t$b\n";$a=$b=$c=$u=$w=""}}split/[^-\w;:'"().]+/i
306.25 Michael Thelen Mon Jun 3 18:51:27 2002
undef$/;for(<>=~/\s*(.*?\.)/sg){my($V,$T,$x,$p,$q);for(@w=split){$V+=$v=y/aeiouyAEIOUY//;$T+=$t=s/\w/$&/g;$f="$v/$t";$p.=$",$q.=$"if defined $x;($x<0?$p:$q).=$"x abs$x;$p.=$_;$q.=$f;$x=y///c-$f=~y///c}if(length$p>60){$p=substr($p,0,57).'...';$q=~s/(.{0,55}\s\S+).*/$1/}print scalar@w,":\t$p\n$V/$T:\t$q\n"}
Ditched the data structure along with the loop that created it. Looking much better, but still a lot of work to do.
308.22 Sander Brandenburg Sun Jun 2 18:34:11 2002
-na056 next if$#F<0;($a,$b)=(0,0);@g=map{($c,$d)=(0,0);$c++,$a++for/[aeiouy]/gi;$d++,$b++for/\w/g;"$c/$d"." "x(-length("$c/$d")+length);}@F;@F=map{$_." "x(3-length)}@F;$_="@F";s/\s+$//;s/^(.{57}).{4,}/$1.../;$k="@g";$k=~s!\s+$|\s*\d+/\d+$!!while 2+rindex($k," ")>index$_,".";print++$#F.":\t$_\n$a/$b:\t$k\n";
too much string handling :/
308.25 Yanick Champoux Sat Jun 1 17:07:55 2002
-n0 sub t($){local$_=lc
pop;y/aeiyou//.'/'.(@a=/\w/g)}map{s/(\S+)\s+/"$1 ".(" "x(3-length$1))/eg;($y=$_)=~s/\S..?\S*/(t$&).(' 'x(length($&)-length t$&))/eg;($s=$_)=~s/(.{0,57})(.*)/$1.(4>length$2?$2:'...')/e;$x=@a=$s=~/\w\S*/g;$y=~/(\s*\d+\/\d+){$x}/;$y=$&;print 0+(@a=/\S+/g),":^I$s
",t$_,":^I$y
"}/\w.*?\./sg
Pitiful, I know. but at least I step ahread of Ronald.
308.48 Scott Hall Mon Jun 3 14:10:09 2002
$/=".";map{chop;y/
 / /s;split;$v=y/aeiouyAEIUOY//."/".y/a-zA-Z0-9//;s/^/ /;s/\s\S/ @/g;y/ .@/</c;s/@<? (?!$)/@<< /g;s/^ *//;if(@_){formline@_.":^I$_.
$v:^I$_<<
",@_,map{y/aeiouyAEIUOY//."/".y/a-zA-Z0-9//}@_;$^A=~s/(^I.{57})....+(?=
.)/$1.../;$^A=~s/(\.{3}
.+^I.*?.{56}) ..+/$1/;$^A=~s/ *$//g;print$^A;$^A=''}}<>
309.24 Amir Karger Tue Jun 4 13:33:53 2002
-p056 sub g{y/aeiouyAEIOUY//."/".s/\w/$&/g}
sub p{sprintf"%-*s",$m+1,pop}
split||exit;
$x=$w="";
map{$m=($l=length)>3?$l:3;$x.=p$_;$w.=p g}@_; 
map{s/\s+$//}$x,$w;
$q=$w;
if($x=~s/(.{57})....+/$1.../){
$q="";while($x=~/\b\S+(([^.]?)\.+$)?/g){if($2||!$1){$w=~s#\s*[\d/]+##;$q.=$&}}}
$_=@_.":\t$x\n".g.":\t$q\n"
split's default is very convenient! At this rate, I should be down to 200 by Friday...June 28.
310.16 Ronald J Kimball Sat Jun 1 06:14:31 2002
-n056 sub L{length pop}sub v{$_=lc;y/aeiouy//}sub b{()=/\w/g}$W=@@=/\S+/g;$V=v;$B=b;$s=$n='';while(@@&&60>L$s){$_=shift@@;$s.=$_.$";$n.=v.'/'.b.$";$n.=$"x($d=L($s)- L$n);$s.=$"x-$d}$s=~s/\s+$//;60<L($s)||@@and substr($s,57)='...'and$n=~/.{56,} \S/&&$n=~s/\S+\s*$//;$n=~s/\s+$//;print"$W:\t$s\n$V/$B:\t$n\n"if$W
I finally got my solution one character shorter than Eugene's, and someone else has posted a 237 character solution. *sigh*
310.20 nashdj Tue Jun 4 10:43:50 2002
$/=$;;for(<>=~/[^\n ]+/g){$v+=@a=/[aeiouy]/gi;$t+=@z=/\w/g;$q=length;$,=' ';$,x=3if$q==1;$,x=2if$q==2;$x.=$_.$,;push@;,@a.'/'.@z;$n++;if(/\./){$_=$x;s/ +$/_/&s/^(.{57}).{5,}/$1..._/;for$m(/.*?[. ]+/g){$_.=sprintf'%-'.(length$m).'s',shift@;}/(.*?) *_(.*?) *$/;print"$n:\t$1\n$v/$t:\t$2\n";$n=$v=$t=$x='';@;=()}}
310.29 David Lowe Mon Jun 3 22:34:34 2002
-n for(/(\S+)\s*/g){$j+=($v=y#aeiouyAEIOUY##);$k+=($l=y#a-zA-Z0-9##);$c=y###c>($n=length($B="$v/$l"))?y###c:$n;/\.$/?$c=$s='':$s=$";$a.=sprintf"%-*s$s",$c,$_;$b.=sprintf"%-*s$s",$c,$B;if(++$i,!$s){$a=~s#(.{57}).*#\1...#,$b=~s#(.{0,56}\d+/\d+).*#\1# if length$a>60;print"$i:\t$a
$j/$k:\t$b
";$i=$j=$k=$a=$b=''}}
311.27 Yanick Champoux Sat Jun 1 14:24:23 2002
-n0 sub t($){local$_=lc
pop;y/aeiyou//.'/'.(@a=/\w/g)}for(/\w.*?\./sg){s/(\S+)\s+/"$1 ".(" "x(3-length$1))/eg;($y=$_)=~s/\S..?\S*/($a=t$&).(' 'x(length($&)-length$a))/eg;($s=$_)=~s/(.{0,57})(.*)/$1.(4>length$2?$2:'...')/e;$x=@a=$s=~/\w\S*/g;$y=~/(\s*\d+\/\d+){$x}/;$y=$&;print 0+(@a=/\S+/g),":^I$s
",t$_,":^I$y
"}
Note to self: cut'n'paste from an aterm convert \t to spaces. Silly c'n'p...
311.34 Eugene van der Pijll Sat Jun 1 01:31:29 2002
-n056 sub e{$a.=$"x($d=length($b)-length$a);$b.=$"x-$d}$v=s/[aeiouy]/$&/gi;$l=s/\w/$&/gi;if(split){$w=@_;$a=$b='';for(@_){$a.=$_.$";$b.=1*s/[aeiouy]/$&/gi."/".s/\w/$&/gi.$";e}$a=~s/ +$//;if($a=~s/([^ ].{56}).{4,}/$1/){$q=split' ',$a;$b=~s/(([^ ]+ +){$q}).*/$1/e;$a.='...'}$b=~s/ +$//;print"$w:\t$a
$v/$l:\t$b
"}
Not very good, perhaps, but it's a start. To be continued...
312.26 Roberto Natella Thu Jun 6 22:44:09 2002
-056 sub p{y/aeiouyAEIOUY//."/".&l}sub z{y#-,;:'"()&/ ##d}sub l{length}while(<>){s/[.
]/ /g;next if!/\w/;print 0+(@x=split);z;$b=p;$_=sprintf"%-3s "x@x,@x;s/\s+$//;$_=substr($_,0,57).".."if 59<l;@y=@x[0..$#{[split]}];pop@y if/\s\.\.$/;@w=map{sprintf"%-".(&z+l)."s",p}@y;$w[-1]=~s/\s+$//;print":\t$_.\n$b:\t@w\n"}
Sorry for the too long solution... it's my first try :-)
313.17 Sec Wed Jun 5 17:51:11 2002
-an056 
next if/^\s+$/;
^I$v=$p=$x=$b=$z=0;
^I@r=map{
^I^I$_.=$"x(3-length)if!/\./;
^I^I$-=length;

^I^I$p||=$z-($v>56)-($v>60)if($v+$->60);
^I^I$z++;
^I^I$v+=1+$-;

^I^I$b+=@D=/\w/g;
^I^I$x+=@C=/[aeiouy]/ig;

^I^Isprintf"%-$-s",@C."/".@D;
^I}@F;

^I$r[$#r=$p||$z-1]=~s/ +$//;

^Iprint "$z:^I","@F"=~/(.{57})..../?"$1...":"@F","
$x/$b:^I@r
";
Wow. I hate perl5.6.1, it breaks in so many interesting places... Anyway, found an even shorter workaround, so I now can hand the "red lantern" off to someone else... "
316.33 David Lowe Mon Jun 3 21:55:03 2002
-0 for(<>=~/[^\.]*\./g){my($a,$b,$i);for($_,/(\S+)\s*/g){$B=y/aeiouyAEIOUY//.'/'.y/a-zA-Z0-9//;if($i++){$c=y///c>($n=length$B)?y///c:$n;/\.$/?$c=$s='':$s=$";$a.=sprintf"%-*s$s",$c,$_;$b.=sprintf"%-*s$s",$c,$B}else{$A=$B}}$a=~s/(.{57}).*/\1.../,$b=~s/(.{0,56}\d+\/\d+).*/\1/ if length$a>60;print--$i.":\t$a
$A:\t$b
"}
fourth time's the charm?
317.18 Chris Dolan Mon Jun 3 02:25:53 2002
-ln map{$t=lc;$V+=$v=$t=~y/aeiouy//;$N+=$n=$t=~s/\w//g;$W++;if($L-$l+$i<61){$i=length;$
l=3>$i?4:$i+1;$f="%-${l}s";$w.=sprintf$f,$_;$s.=sprintf$f,"$v/$n";if(60<$L+$i){subs
tr($w,57)="...";$s=~s/(.{56}\S*) .*/$1/;}$L+=$l;}if(/\./){$w=~s/\s+$//;$s=~s/\s+$//;print"$W:\t$w";print"$V/$N:\t$s";$s=$w=$L=$W=$V=$N="";}}split
Phew! It took a while to just get a WORKING solution, let alone an optimized one.
319.18 Benoît Chauvet Sun Jun 2 12:22:58 2002
$/=$"='';sub p{$c=y/a-z0-9/a-z0-9/;~~s/[ouyaie]/[/g."/$c"}map{$z=$h=$j=0;$b=1;@w=grep{56>$z[$j++]||$z<61}map{$z+=1+length;$z[++$h]=$z;$_.' 'x(1+!/../+!/.../)}split/\s+/;$_=lc;@v=map{$d=p;s/./ /g;$_|=$d}map lc,@w;$_="$h:\t@w\n".p.":\t@v\n";$z-(@w<2)<61||s/(\t.{0,57}).*/$1.../;s/ +$//mg;print}split/(?<=\.)\W+/,join'',<>
First try : brute force... But it was more difficult to make it work than previous holes !
322.16 Honza Pazdziora Tue Jun 4 18:09:31 2002
-056n sub d{$v=$l=0;map{$l++;$v++if/[aeiouy]/i}$_[0]=~/(\w)/g;"$v/$l"}
(@w=/(\S+)/g)||next;
$p=$x='';
for(@w){
        $x.=$c=sprintf'%-*s ',length,d$_;
        $p.=sprintf'%-*s ',length($c)-1,$_;
}
$p=~s/\s+$//;
$p=~s/(.{57})....+/$1.../and$x=~s/((.{56}).*?) .*/$1   /;
$x=~s/\s+$//;
print 0+@w,":\t$p\n",d($_),":\t$x\n";
322.33 Erik Johansen Thu Jun 6 14:48:53 2002
-n map{$a.=" ",$b.=" "if$a;$f=length$b;$a.=" "x($f-length$a);$b.=" "x(-$f+length$a);$u+=$v=y*aeiouyAEIOUY**;$c+=$l=y*a-zA-Z0-9**;$w++;$a.=$_;$b.="$v/$l";if(/\./){length$a>60and substr($a,57)="...",$a=~/\w+\W+$/,$z=length$`,$b=~s/^(.{$z}\S*).*/$1/;print("$w:\t$a\n$u/$c:\t$b\n"),$a=$b=$c=$u=$w=""}}split/[^-\w;:'"()&\/.]+/i
323.33 Ross Younger Sun Jun 2 11:49:59 2002
-ln $a.=$".$_}sub
Q{y/aeiouyAEIOUY//.'/'.y/a-zA-Z0-9//}for(split/\s*\./,$a){s/^\s+//;s/.$/$&./ 
or 
next;$z=&Q.":\t";$y=(split/\s+/).":\t";map{$a=(length&Q)-length;$y.=$_.$"x($a>0?$a+1:1);$z.=&Q.$"x($a>0?1:1-$a)}split/\s+/;$y=~s/ *$//;$z=~s/(.*\t.{56}[^ ]*).*/$1/ 
if($y=~s/(.*\t.{57}).{4,}/$1.../);$_="$y
$z";s/ *$//;print
324.23 Michael Wrenn Fri Jun 7 23:15:13 2002
$/='';$_=join'',<>;while($_){my($w,@x,$p,$u,$c);s/\s+/ /g;s/^ ?(.+?\.) ?|$//;map{$c++;$u+=@v=/[aeiouy]/gi;$p+=@n=/\w/g;$k=y///c-($q=@v."/".@n)=~y///c;$w.="$_ "." "x-$k;push(@x,$q." "x$k);$w=~s/(.{57})([^.]{3}|\.{3}).*/$1.../}split/ /,$1;$w=~s/((.*?)[ .]*?) *$/$1/;$#x=-1+split/ +/,$2;$x[-1]=~s/ //g;print"$c:^I$w
$u/$p:^I@x
"}
All done! I always aim to beat what Ron Kimball does in an hour. But I need the whole week! One day and I'm always at the back of the pack. But I had fun playing!!!
326.23 Michael Wrenn Fri Jun 7 22:49:44 2002
$/='';$_=join'',<>;while($_){my($w,@x,$p,$u,$c);s/\s+/ /g;s/^ ?(.+?\.) ?|$//;for(split/ /,$1){$c++;$u+=@v=/[aeiouy]/gi;$p+=@n=/\w/g;$k=y///c-($q=@v."/".@n)=~y///c;$w.="$_ "." "x-$k;push(@x,$q." "x$k);$w=~s/(.{57})([^.]{3}|\.{3}).*/$1.../}$w=~s/((.*?)[ .]*?) *$/$1/;$#x=-1+split/ +/,$2;$x[-1]=~s/ *$//;print"$c:^I$w
$u/$p:^I@x
"}
Still whittling ...
327.27 Alain "TopMach" Dupuis Sun Jun 2 00:15:20 2002
-0 sub v{y/aeiouyAEIOUY//}sub l{length(pop||$_)}$_=<>;s/\s+$//;for(/[^.]+/g){my(@r,$i,$p,$t);for(/\S+/g){$t+=$e=()=/\w/g;$f=v."/".$e;$b=l>l($f)?l:l$f;$_.=' 'while$b>l;$f.=' 'while$b>l$f;$p.="$_ ";push@r,$f;$i++}$p=~s/ +$//;$p=~s/(.{57}).*/$1../ if 59<l$p;@n=$p=~/\w+/g;$#r=@n-1;$r="@r";$r=~s/ +$//;print"$i:^I$p.
",v,"/$t:^I$r
"}
330.23 Michael Wrenn Fri Jun 7 22:23:28 2002
$/='';$_=join'',<>;while($_){my($w,@x,$p,$u,$c);s/\s+/ /g;s/^ ?(.+?\.) ?|$//;for(split/ /,$1){$c++;$u+=@v=/[aeiouy]/gi;$p+=@n=/\w/g;$q=@v."/".@n;$k=y///c-$q=~y///c;$w.="$_ "." "x-$k;push(@x,$q." "x$k);$w=~s/^(.{57})([^.]{3}|\.{3}).*/$1.../}$w=~s/(.*?)([ .]*?) *$/$1$2/;$#x=-1+split/ +/,$1;$x[-1]=~s/ *$//;print"$c:^I$w
$u/$p:^I@x
"}
What was I thinking??? Only 20 strokes to 35th place!
330.29 Yanick Champoux Sat Jun 1 03:20:35 2002
-0 sub t{$a=lc
pop;$a=~y/aeiyou//.'/'.(@a=$a=~/\w/g)}
for(<>=~/\w.*?\./sg){s/(\S+)[
\s]+/"$1 ".(" "x(3-length$1))/eg;$y=$_;$y=~s/\S..?\S*/$a=t($&);$a.(' 'x(length($&)-length$a))/eg;$s=$_;$s=~/(.{0,57})(.*)/;$s=$1 .(length($2)<4?$2:'...');$x=@a=$s=~/\w\S*/g;$y=~/(\s*\d+\/\d+){$x}/;$y=$&;print 0+(@a=/\S+/g), ":^I$s
",t($_),":^I$y
"}
Hmm.. It /is/ passing the test program here. Maybe a bad cut'n'paste in my first entry?
330.34 Erik Johansen Mon Jun 3 18:52:08 2002
-n map{$a.=" ",$b.=" "if$a;$f=length$b;$e=length($a.=" "x($f-length$a));$b.=" "x($e-$f);$u+=$v=y*aeiouyAEIOUY**;$c+=$l=y*a-zA-Z0-9**;$w++;$a.=$_;$b.="$v/$l";if(/\./){length$a>60and substr($a,57)="...",$a=~/\w+\W+$/,$z=length$`,$b=~s/^(.{$z}\S*).*/$1/;print("$w:\t$a\n$u/$c:\t$b\n"),$a=$b=$c=$u=$w=""}}/([-a-z0-9,;:'"\(\)&\/.]+)/gi
331.28 Alain "TopMach" Dupuis Sat Jun 1 20:34:32 2002
sub v{y/aeiouyAEIOUY//}sub l{length(pop||$_)}$_=join'',<>;s/\s+$//;for(/[^.]+/g){my(@r,$i,$p,$t);for(/\S+/g){$t+=$e=()=/\w/g;$f=v."/".$e;$b=l>l($f)?l:l$f;$_.=' 'while$b>l;$f.=' 'while$b>l$f;$p.="$_ ";push@r,$f;$i++}$p=~s/ +$//;$p=~s/(.{57}).*/$1../ if 59<l$p;@n=$p=~/\w+/g;$#r=@n-1;$r="@r";$r=~s/ +$//;print"$i:^I$p.
",v,"/$t:^I$r
"}
It's ugly and long but it's a start... although a slow start. :(
334.45 Scott Hall Mon Jun 3 04:01:07 2002
$/=".";map{y/
 / /s;split;$v=y/aeiouyAEIUOY//."/".y/a-zA-Z0-9//;s/^/ /;s/\s\S/ @/g;y/ .@/</c;s/@<?\s(?!$)/@<< /g;s/^ *//;if(@_){formline$_,@_;$b=$^A=~s/(.{57})....+/$1.../;
print 0+@_,":\t$^A
";$^A='';s/\./<</;formline$_,map{y/aeiouyAEIUOY//."/".y/a-zA-Z0-9//}@_;$^A=~s/(.{56})\s..+/$1/ if$b;$^A=~s/\s*$//g;print"$v:\t$^A
";$^A=''}}<>
335.25 Michael Thelen Mon Jun 3 18:22:13 2002
undef$/;for(<>=~/\s*(.*?\.)/sg){$V=$T=0;@d=map{$V+=$v=y/aeiouyAEIOUY//;$T+=$t=s/\w/$&/g;[$_,"$v/$t"]}split;my$x;my$p;my$q;for(@d){($w,$f)=@$_;$p.=$",$q.=$"if defined $x;($x<0?$p:$q).=$"x abs$x;$p.=$w;$q.=$f;$x=$w=~y///c-$f=~y///c}if(length$p>60){$p=substr($p,0,57).'...';$q=~s/(.{0,55}\s\S+).*/$1/}print scalar@d,":\t$p\n$V/$T:\t$q\n"}
Cleaned up the first part a little bit. I'm still nowhere near happy, but getting more familiar with the problem.
336.19 Will Coleda Fri Jun 7 19:23:09 2002
for(join('',<ARGV>)=~/(.*?\.)/gs){my(@n,$v,$t,$d,$j,$r);for(split){$v+=@x=/[aeiouy]/gi;$t+=@c=/[a-z0-9]/gi;$k=@x.'/'.@c;$g=1+length()-length$k;push@n,$k.=' 'x($g>0?$g:1);$d.=$_.' 'x($g>0?1:$g<0?2-$g:2)}$d=~s/ +$//;if(length$d>($s=60)){substr($d,$s-=3)='...'}for(@n){last if$j>=$s;$j+=length;$r.=$_}$r=~s/ +$//;print@n.":^I$d
$v/$t:^I$r
"}
Re-re-submittal. same algorithm, smaller.
336.23 Amir Karger Tue Jun 4 04:46:58 2002
-p056 sub g{y/aeiouyAEIOUY//."/".s/\w/$&/g}
sub p{sprintf"%-*s",$m+1,pop}
s/^\s+//;
next if /^\s*$/;
split/\s+/;
$x=$w="";
map{$m=($l=length)>3?$l:3;$x.=p$_;$w.=p g}@_; 
map{s/\s+$//}$x,$w;
$q=$w;
if($x=~s/(.{57})....+/$1.../){
$q="";while($x=~/\b\S+(([^.]?)\.+$)?/g){if($2||!$1){$w=~s#\s*[\d/]+##;$q.=$&}}}
$_=@_.":\t$x\n".g.":\t$q\n";
Mostly a shortened version of the algorithm from the LONG one. It doesn't improve my ranking by much, but it'll look great on the scoring graph.
340.24 Michael Wrenn Fri Jun 7 22:06:16 2002
$/='';$_=join'',<>;while($_){my($w,@x,$p,$u,$c);s/\s+/ /g;s/^ ?(.+?\.) ?|$//;for(split/ /,$1){$c++;$u+=@v=/[aeiouy]/gi;$p+=@n=/\w/g;$q=@v."/".@n;@y=/./g;@z=$q=~/./g;$w.="$_ "." "x(@z-@y);push(@x,$q." "x(@y-@z));$w=~s/^(.{57})([^.]{3}|\.{3}).*/$1.../}$w=~s/(.*?)([ .]*?) *$/$1$2/;$#x=-1+split/ +/,$1;$x[-1]=~s/ *$//;print"$c:^I$w
$u/$p:^I@x
"}
Foolishly pecking away!
343.24 Michael Wrenn Fri Jun 7 21:21:10 2002
$/='';$_=join'',<>;while($_){my($w,@x,$p,$u,$c);s/\s+/ /g;s/^ | $//;s/.+?\.|$//;for(split/ /,$&){$c++;$u+=@v=/[aeiouy]/gi;$p+=@n=/\w/g;$q=@v."/".@n;@y=/./g;@z=$q=~/./g;$w.="$_ "." "x(@z-@y);push(@x,$q." "x(@y-@z));$w=~s/^(.{57})([^.]{3}|\.{3}).*/$1.../}$w=~s/(.*?)([ .]*?) *$/$1$2/;$#x=-1+split/ +/,$1;$x[-1]=~s/ *$//;print"$c:^I$w
$u/$p:^I@x
"}
Thanks to Aer Lingus for taking up my whole week! Stuck in the pubs of Ireland with out a computer. I cried in my Guinness! There goes my y-index to beginner level again!
344.18 Rick Cook Fri Jun 7 18:31:03 2002
undef$/;map{$t=$w=$h=$p=$l="";for$n(split){$d=0;$h++;$p.=" "x(3-$g)." $n";$g=length$n;$w+=$f=$d+=$n=~s/[aeiouy]//ig;$t+=$f+=$n=~s/\w//g;$g--if$f>9;$l.="$d/$f "." "x($g-3)}$_=$l;$p=~s/\s+(.*)/$1\./;$p=substr($p,0,57)."..."if length$p>60;$p=~/.* [^\.]/g;pos=75;while(pos>pos$p||/\s$/){chop;/.* \d/g}print"$h:\t$p\n$w/$t:\t$_\n"if$h}split/\.\s/,<>
347.20 Ryan Zachry Tue Jun 4 14:03:30 2002
map{s/
/ /;$x.=$_}<>;for$d($x=~/.*?\./g){$q=$z=$c=$_=$p="";for$w($d=~/\S+/g){$q++;$l=$v=0;for$e($w=~/\w/g){$l++;$z++;map{$v++if/$e/i}"aeiouy"}$c+=$v;$_.=($t=length($f="$v/$l"))>($y=length$w)?$w.$"x($t-$y+1):"$w ";$p.=$t>$y?"$f ":$f.$"x($y-$t+1)}s/ *$//;if(length>60){s/(.{57}).*/$1.../;$p=~s/(.{56}\s).*/$1/}$p=~s/ *$//;print"$q:\t$_
$c/$z:\t$p
"}
347.21 Ross Younger Sun Jun 2 09:15:03 2002
-lnaF. $F[0]=$c.$".$F[0]if$c;$c=m/\.$/?'':pop@F;map{$r=$s=$w=$t=$q='';map{++$w;$v=0+s/([aeiouy])/$1/gi;$u=s/([a-z0-9])/$1/ig;$p=1+y///c;$r+=$v;$s+=$u;$x=length($o="$v/$u ");$t.=$_.$";$q.=$o;($x>$p)?$t:$q.=$"x
abs($x-$p)}split/\s+/;$t=~s/\s*$//;$_=$q;if(length$t>60){substr($t,57)="...";s/^(.{56}[^ ]*).*$/$1/}s/\s*$//;print"$w:\t$t\n$r/$s:\t$_"}@F
355.20 ouch Fri Jun 7 17:22:40 2002
$/=4;map{if(!/^$/){s/^\s*//;map{$w=l($c=$_)-tr/-.,;:'"()&\///;$q=tr/aeiouyAEIOUY//;$d="$q/$w ";$c.=' '.' 'x(l($d)-&l($c)-1)if$c!~/\./;$d.=' 'x(l($c)-&l($d));$m.=$c;if(l($m)>60){substr($m,57)="...";$n.=$d if l($n)<57}else{$n.=$d}$r+=$q;$p+=$w;$j++}split/\s+/;$n=~s/\s*$//;print"$j:\t$m\n$r/$p:\t$n\n";$m=$n=$j=$r=$p=''}}<>=~/(.*?\.)?/msg;sub l{length@_[0]}
358.25 Michael Thelen Mon Jun 3 15:14:36 2002
undef$/;for(<>=~/\s*(.*?\.)/sg){my@d;my$V;my$T;for(split){$V+=$v=y/aeiouyAEIOUY//;$T+=$t=s/\w/$&/g;$f="$v/$t";push@d,[$_,"$v/$t"]}my$x;my$p;my$q;for(@d){($w,$f)=@$_;$p.=$",$q.=$"if defined $x;($x<0?$p:$q).=$"x abs$x;$p.=$w;$q.=$f;$x=$w=~y///c-$f=~y///c}if(length$p>60){$p=substr($p,0,57).'...';$q=~s/(.{0,55}\s\S+).*/$1/}print scalar@d,":\t$p\n$V/$T:\t$q\n"}
First working program, very ugly. Lots of work to do from here!
359.19 seano Tue Jun 4 06:22:17 2002
undef$/;sub v{(@x=/[aeiouy]/gi).'/'.(@x=/[a-z0-9]/gi)}for(map{"$_."}map{split/\.(?:\s+|$)/m,$_}grep/\S/,split/\n\n+/,<>){($g,$p)=v;($c=pack$p,map{$l=length;$m=length($v=v);$p.='A'.(($l>$m?$l:$m)+1);$v}(@w,@c)=split)=~s/^(.{60}\S*).*/$1/;$c=~s/^(.{56}\S*).*/$1/ if($w=pack$p,@w)=~s/^(.{57}).{3,}\S.*/$1.../;$w=~s/\s*$//;$c=~s/\s*$//;print@w.":\t$w\n$g:\t$c\n"}
first cut.
362.31 Piotr Klaban Fri Jun 7 12:39:36 2002
print join'',map{$^A=$v=$n=$l='';s/^\s+//;s/\s+/ /g;s/(?<!\S)\S\S? /pack("A4",$&)/ge;formline'@'.('<'x56)."...","$_.";if($w=s#\S+\s*#$l.=($x=$&=~y/aeiouyAEIOUY//.'/'.($y=$&=~y/a-zA-Z0-9//))|' 'x length($&);$v+=$x;$n+=$y;$&#ge){$s=@{[$^A=~/\s+/g]}+(substr($^A,-4)ne' ...');$l=~s/^((\S+\s+){$s}).+$/$1/;$l=~s/\s*$//;"$w:\t$^A\n$v/$n:\t$l\n"}}split/\.\s/,join'',<>;
Just my first perlgolf contest submission.
365.19 ouch Fri Jun 7 17:14:06 2002
$/=4;map{if(!/^$/){s/\s+/ /s;s/^\s*//;map{$w=l($c=$_)-tr/-.,;:'"()&\///;$q=tr/aeiouyAEIOUY//;$d="$q/$w ";$c.=' '.' 'x(l($d)-&l($c)-1)if$c!~/\./;$d.=' 'x(l($c)-&l($d));$m.=$c;if(l($m)>60){substr($m,57)="...";$n.=$d if l($n)<57}else{$n.=$d}$r+=$q;$p+=$w;$j++}split/\s+/;$n=~s/\s*$//;print"$j:\t$m\n$r/$p:\t$n\n";$m=$n=$j=$r=$p=''}}<>=~/(.*?\.)?/msg;sub l{length@_[0]}
371.19 BigrTex Thu Jun 6 19:35:36 2002
sub d{$_=lc join'',@_;$p=y/a-z0-9/a-z0-9/;$q=y/aeiouy//;return"$q/$p"}undef$/;for(<>=~/([^.]*\.)/g){$j=d@x=split;$b=$c=$w=$t="";$s=$x[0];map{$s.=' 'x(3-length$x[$_-1]).' '.$x[$_]}1..$#x;length$s>60?substr($s,57)='.'x3:1;while($c<60&&$b<@x){$z=d$x[$b];$f=length$x[$b++];if(substr($s,$c,1)ne'.'){$t.=$w.$z;$c+=$f=++$f<4?4:$f;$w=' 'x($f-length$z)}}print$#x+1,":^I$s
$j:^I$t
"}
Shrink the first loop by one, and the ?: construct goes away, improving 10 scores and one decile. I still need to merge the two construction loops into one, but I'm having trouble getting my mind around it.
371.19 ouch Fri Jun 7 16:26:35 2002
$/=4;map{if(!/^$/){s/\s+/ /s;$_.=".";s/^\s*//;map{$w=l($c=$_)-tr/-.,;:'"()&\///;$q=tr/aeiouyAEIOUY//;$d="$q/$w ";$c.=' '.' 'x(l($d)-&l($c)-1)if$c!~/\./;$d.=' 'x(l($c)-&l($d));$m.=$c;if(l($m)>60){substr($m,57)="...";$n.=$d if l($n)<57}else{$n.=$d}$r+=$q;$p+=$w;$j++}split/\s+/;$n=~s/\s*$//;print"$j:\t$m\n$r/$p:\t$n\n";$m=$n=$j=$r=$p=''}}split/\.\s*/,<>;sub l{length@_[0]}
376.23 Tom Hargreaves Fri Jun 7 23:45:57 2002
-0n map{split&&do{($m,@a,@b,$z)=map[$_,($x=@x=/[aeiouy]/gi).'/'.($y=@y=/\w/gi)],$_,@_;$z++<63and$z+=$q=(sort{$a<=>$b}map y///c,@$_)[1],$r=push@b,[-$q,@$_]for@a;$b[-1][0]=0;($v="@{[map{sprintf'%*s',@$_}@b]}.")=~s/(.{56})(.)(.{4,6}).*/$1$2.../and$r-=@q="$2$3"=~/\s\S/g;$b[--$r][0]=0;print++$#_.":\t$v
$m->[1]:\t@{[map{sprintf'%*s',@$_[0,2]}@b[0..$r]]}
"}}$e=$1while s/(.*?)\.//s
I *really* hate perl golf.
378.20 ouch Fri Jun 7 11:36:56 2002
$/='!';$_=<>;map{if(!/^$/){s/\s+/ /s;$_.=".";s/^\s*//;map{$w=l($c=$_)-tr/-.,;:'"()&\///;$q=tr/aeiouyAEIOUY//;$d="$q/$w ";$c.=' '.' 'x(l($d)-&l($c)-1)if$c!~/\./;$d.=' 'x(l($c)-&l($d));$m.=$c;if(l($m)>60){substr($m,57)="...";$n.=$d if l($n)<57}else{$n.=$d}$r+=$q;$p+=$w;$j++}split/\s+/;$n=~s/\s*$//;print"$j:\t$m\n$r/$p:\t$n\n";($m,$n,$j,$r,$p)=()}}split/\.\s*/;sub l{length@_[0]}
381.19 BigrTex Thu Jun 6 17:57:01 2002
sub d{$_=lc join'',@_;$p=y/a-z0-9/a-z0-9/;$q=y/aeiouy//;return"$q/$p"}undef$/;for(<>=~/([^.]*\.)/g){$j=d@x=split;$b=$c=$w=$t="";$s=$x[0];map{$x[$_+1]?$s.=' 'x(3-length$x[$_]).' '.$x[$_+1]:1}0..@x;length$s>60?substr($s,57)='.'x3:1;while($c<60&&$b<@x){$z=d$x[$b];$f=length$x[$b++];if(substr($s,$c,1)ne'.'){$t.=$w.$z;$c+=$f=++$f<4?4:$f;$w=' 'x($f-length$z)}}print$#x+1,":^I$s
$j:^I$t
"}
347 looks a long way away right now, but "I think I can, I think I can..." I shaved some strokes turning another if into a ?:1... I wish I could leave that second value a null...
384.19 BigrTex Thu Jun 6 17:53:34 2002
sub d{$_=lc join'',@_;$p=y/a-z0-9/a-z0-9/;$q=y/aeiouy//;return"$q/$p"}undef$/;for(<>=~/([^.]*\.)/g){$j=d@x=split;$b=$c=$w=$t="";$s=$x[0];map{$x[$_+1]?$s.=' 'x(3-length$x[$_]).' '.$x[$_+1]:1}0..@x;if(length$s>60){substr($s,57)='.'x3;}while($c<60&&$b<@x){$z=d$x[$b];$f=length$x[$b++];if(substr($s,$c,1)ne'.'){$t.=$w.$z;$c+=$f=++$f<4?4:$f;$w=' 'x($f-length$z)}}print$#x+1,":^I$s
$j:^I$t
"}
A bunch of little tweaks this morning. My lvalue question on perl-beginners that was asked just for understanding, gave me the final tweak to the substr that put me two rungs up the ladder.
386.20 ouch Fri Jun 7 11:25:57 2002
$/='!';$_=<>;map{if(!/^$/){s/[\s]+/ /s;$_.=".";s/^\s*//;map{$w=l($c=$_)-tr/[\-.,;:'"()&\/]//;$q=tr/[aeiouyAEIOUY]//;$d="$q/$w ";$c.=' '.' 'x(l($d)-&l($c)-1)if$c!~/\./;$d.=' 'x(l($c)-&l($d));$m.=$c;if(l($m)>60){substr($m,57)="...";$n.=$d if l($n)<57}else{$n.=$d}$r+=$q;$p+=$w;$j++}split/\s+/;$n=~s/\s*$//;print"$j:\t$m\n$r/$p:\t$n\n";($m,$n,$j,$r,$p)=()}}split/\.\s*/;sub l{length@_[0]};
387.18 Rick Cook Thu Jun 6 12:18:48 2002
undef$/;for(split/\.\s/,<>){$t=$w=$h=$p=$l="";for$n(split){$d=0;$h++;$c=$n;$f=$d+=$c=~s/[aeiouy]/:/ig;$f+=$c=~s/[a-z\d]/:/ig;$g=$c=~s/.//g;$w+=$d;$t+=$f;$g--if$f>9;$l.="$d/$f "." "x($g-3);$p.="$n "." "x((2-$g)+1)}$p=~s/\s+$/./;while(length$p>60){chop$p;$p=~s/.{3}$/\.\.\./}$p=~/.* [^\.]/g;$l=~/.* \d/g;while(pos$l>pos$p){chop$l;$l=~/.* \d/g}$l=~s/\s+$//;print"$h:\t$p\n$w/$t:\t$l\n"if$h}
387.19 Will Coleda Fri Jun 7 01:02:58 2002
$_=join(" ",<ARGV>);s/\s+$//;while($_){s/(.*?\.)//s&&push@b,$1}for(@b){my(@n,$v,$t,$d,$j,$r);for(split){$v+=@x=/[aeiouy]/gi;$t+=@c=/[a-z0-9]/gi;$k=@x."/".@c;$g=1+length()-length$k;push@n,$k.=" "x($g>0?$g:1);$d.=$_." "x($g>0?1:$g<0?2-$g:2)}$d=~s/\s+$//;if(length$d>($s=60)){substr($d,($s=57))="...";}print@n.":^I$d
$v/$t:^I";for(@n){last if$j>=$s;$j+=length;$r.=$_;}$r=~s/\s+$//;print"$r
"}
more compression.
387.25 ouch Tue Jun 4 17:54:31 2002
undef$/;$_=<>;map{if(!/^$/){s/[\s]+/ /s;$_.=".";s/^\s*//;map{$o=l($c=$_)-tr/[\-.,;:'"()&\/]//;$q=tr/[aeiouyAEIOUY]//;$d="$q/$o ";$c.=' '.' 'x(l($d)-&l($c)-1)if$c!~/\./;$d.=' 'x(l($c)-&l($d));$m.=$c;if(l($m)>60){substr($m,57)="...";$n.=$d if l($n)<57}else{$n.=$d}$r+=$q;$p+=$o;$i++}split/\s+/;$n=~s/\s*$//;print"$i:\t$m\n$r/$p:\t$n\n";($m,$n,$i,$r,$p)=()}}split/\.\s*/;sub l{length@_[0]};
392.24 Ryan Zachry Mon Jun 3 22:24:09 2002
map{s/
/ /g;$x.=$_}<>;map{$q=$z=$c=$o=$p='';for$w(/\S+/g){$q++;$l=$v=0;for$e($w=~/\w/g){$l++;map{$v++if$_=~/$e/i}"aeiouy"=~/./g}$z+=$l;$c+=$v;$o.=($t=length"$v/$l")>($y=length$w)?$w.$"x($t-$y+1):"$w ";$p.=$t>$y?"$v/$l ":"$v/$l".$"x($y-$t+1)}$o=~s/ *$//;if(length$o>60){$o=~s/(.{57}).*/$1.../;$g=$o=~/\s.{4}$/?'\s+)':')';$p=~s/(.{56}$g.*/$1/}$p=~s/ *$//;print"$q:\t$o
$c/$z:\t$p
"}$x=~/.*?\./g
399.18 BigrTex Thu Jun 6 17:17:47 2002
-l sub d{$_=lc join'',@_;$p=y/a-z0-9/a-z0-9/;$q=y/aeiouy//;return"$q/$p"}undef$/;for(<>=~/([^.]*?\.)/g){@x=split;$c=$w=$t="";$s=$x[$b=0];map{$x[$b+1]?$s.=' 'x(3-length$x[$b]).' '.$x[++$b]:d}0..@x;if(length$s>60){substr($s,57,999,'.'x3);}$b=0;while($c<60&&$b<@x){$z=d$x[$b];$f=length$x[$b++];if(substr($s,$c,1)ne'.'){$t.=$w.$z;$c+=$f=++$f<4?4:$f;$w=' 'x($f-length$z)}}print$#x+1,":^I$s
",d(@x),":^I$t"}
As I was getting ready to shut the computer down, I came across a perldoc window, and one thing led to another, and I found that if I moved the sub to the beginning, I could shave my score under 400... now to aim for 387, the next rung on the ladder... I have some ideas already...
402.18 BigrTex Thu Jun 6 17:14:18 2002
-l undef$/;for(<>=~/([^.]*?\.)/g){@x=split;$w="";$s=$x[$b=0];$t=d(@x).":^I";map{$x[$b+1]?$s.=' 'x(3-length$x[$b]).' '.$x[++$b]:d}0..@x;if(length$s>60){substr($s,57,200,'.'x3);}$b=$c=0;while($c<60&&$b<@x){$z=d($x[$b]);$f=length$x[$b++];if(substr($s,$c,1)ne'.'){$t.=$w.$z;$c+=$f=++$f<4?4:$f;$w=' 'x($f-length$z)}}print$#x+1 .":^I$s
$t"}sub d{$_=lc join'',@_;$p=y/a-z0-9/a-z0-9/;$q=y/aeiouy//;return"$q/$p"}
I got up, had a drink of water, scratched down my idea on a post-it note so I'd remember this morning, but 30 minutes later, my stomach was growling and I still didn't know how the ballgame had turned out so I got myself a bowl of cereal, turned on the tube, and went ahead and typed up my prior improvement, then I still had cereal and didn't know the score so I golfed some more and worked down to this, which I saved off as a good checkpoint before I tried more radical surgery. This is where I'd finally gotten the two print statements combined into one.
415.19 BigrTex Thu Jun 6 17:07:21 2002
undef$/;for(<>=~/([^.]*?\.)/g){@x=split;$w="";$s=$x[$b=0];map{$x[$b+1]?$s.=' 'x(3-length$x[$b]).' '.$x[++$b]:t}0..@x;if(length$s>60){$s=substr($s,0,57).'...'}print$#x+1 .":^I$s\n";$b=$c=0;$z=t(@x);print"$z:^I";while($c<60&&$b<@x){$z=t($x[$b]);$f=length$x[$b++];if(substr($s,$c,1)ne'.'){print$w.$z;$c+=$f=++$f<4?4:$f;$w=' 'x($f-length$z)}}print"
"}sub t{$_=lc join'',@_;$p=y/a-z0-9/a-z0-9/;$q=y/aeiouy//;return"$q/$p"}
I was trying to get to sleep last night (I swear it was too much caffeine in Reno, not this golfing), and thought of an improvement... I could eliminate that funky regex in the <> slurp by just accepting everything but a . until the period, and then I realized that I could just loop on the slurp's regex instead of storing to an array...
427.21 Will Coleda Fri Jun 7 00:41:02 2002
$_=join(" ",<ARGV>);s/\s+$//;while($_){s/(.*?\.)//s&&push@b,$1}for(@b){my(@n,$v,$t,$d,$j,$r);for(split){$v+=@x=/[aeiouy]/gi;$t+=@c=/[a-z0-9]/gi;$k=@x."/".@c;$_.=" ";$g=length()-length$k;if($g>0){$k.=" "x$g}elsif($g<0){$_.=" "x(1-$g);$k.=" "}else{$k.=" ";$_.=" "}push@n,$k;$d.=$_}$d=~s/\s+$//;if(length$d>($s=60)){substr($d,($s=57))="...";}print@n.":^I$d
$v/$t:^I";for(@n){last if$j>=$s;$j+=length;$r.=$_;}$r=~s/\s+$//;print"$r
"}
445.19 BigrTex Thu Jun 6 17:01:18 2002
undef$/;@d=(<>=~/([-a-zA-Z0-9.,;:'"()&\/ ^I
]*?\.)/g);for(@d){@x=split;$w="";$s=$x[$b=0];map{$x[$b+1]?$s.=' 'x(3-length$x[$b]).' '.$x[++$b]:t}0..@x;if(length$s>60){$s=substr($s,0,57).'...'}print$#x+1 .":^I$s\n";$b=$c=0;$z=t(@x);print"$z:^I";while($c<60&&$b<@x){$z=t($x[$b]);$f=length$x[$b++];if(substr($s,$c,1)ne'.'){print$w.$z;$c+=$f=++$f<4?4:$f;$w=' 'x($f-length$z)}}print"
"}sub t{$_=lc join'',@_;$p=y/a-z0-9/a-z0-9/;$q=y/aeiouy//;return"$q/$p"}
Here's my first submission this morning. This is what I was able to accomplish on the plane coming home yesterday. I was able to combine statements in a couple of places, still nothing fancy.
452.25 Sheldon Fuchs Fri Jun 7 21:15:49 2002
sub a{$_=pop;length==1?s/$/   /:length==2?s/$/  /:s/$/ /;$_}$a.=$_ for<>;for(split/\./,$a){!/^\s+$/||next;my(@a,$s,$p,$t,$u,$m);map{$p.=a($_);$s++;$v=s/[aeiouy]/1/gi||0;$w=s/[A-z0-9]//g||0;$u+=$v;$m+=$w;push@a,"$v/$w"}split;$d="$u/$m";$p=~s/\s+$//;if(length($p)>59){$p=~s/(.{57}).+/$1../}$e=$p;$p=~s/\.+$//;map{$a=shift@a;$b=length($a);$_=a($_);s/.{1,$b}(.+)/_$1/;s/[^_]/ /g;s/_/$a/g;$t.=$_;}split' ',$p;print"$s:\t$e.\n";$t=~s/\s+$//;print"$d:\t$t\n"}
462.24 Ryan Zachry Mon Jun 3 20:32:53 2002
map{s/\n/ /g;$x.=$_}<>;for($x=~/(.*?\.)/g){$q=$z=$c=0;$o=$p='';for$w(/\S+/g){$q++;$l=$v=0;for$e($w=~/\w/g){$l++;map{$v++if$_=~/$e/i}"aeiouy"=~/./g}$z+=$l;$c+=$v;$t=length"$v/$l";$y=length$w;if($t>$y){$o.=$w.$"x($t-$y+1);$p.="$v/$l "}else{$o.="$w ";$p.="$v/$l".$"x($y-$t+1)}}$o=~s/\s*$//;$p=~s/\s*$//;if(length$o>60){$o=~s/(.{57}).*/$1.../;if($o=~/.*\s\S\.\.\.$/){$p=~s/(.{57}\S+).*/$1/}else{$p=~s/(.{56}).*/$1/}}$p=~s/\s*$//;print"$q:\t$o\n";print"$c/$z:\t$p\n"}
number one baby!
463.19 BigrTex Wed Jun 5 23:26:28 2002
undef$/;@d=(<>=~/([-a-zA-Z0-9.,;:'"()&\/ ^I
]*?\.)/g);for(@d){@x=split;$w="";$s=$x[$b=0];map{if($x[$b+1]){$s.=' 'x(3-length$x[$b]);$s.=' '.$x[++$b]}}0..$#x+1;if(length$s>60){$s=substr($s,0,57).'...'}print$#x+1 .":^I$s\n";$b=$c=0;$z=t(@x);print"$z:^I";$z="";while($c<60&&$b<=$#x){$z=t($x[$b]);$f=length$x[$b++];if(substr($s,$c,1)ne'.'){print$w.$z;$c+=$f=++$f<4?4:$f;$w=' 'x($f-length$z)}}print"
"}sub t{$_=lc join'',@_;$p=y/a-z0-9/a-z0-9/;$q=y/aeiouy//;return"$q/$p"}
A few more strokes before I have to leave for the airport. I'll probably golf some on the plane this evening.
466.29 Matthias Schoder Fri Jun 7 23:46:41 2002
sub a{length pop}local$/;$_=<>;s/^\s*//;@i=split//;for(@i){$s=0,++$l,$t++if/\w/;++$w,$v++if/[aeiouy]/i;$z.=$_ if!/[\s.]/;if(/[\s.]/&&!$s){$x++;$s++;$c=0+$w.'/'.$l;$m=a($c)- a$z if!/\./;push@z,$z;@u=split//,"@z";push@c,$c;$z='';if(/\./){if(@u>59){$u[57]=$u[58]='.';splice@u,59,@u-59;$u=join'',@u;$u=~s/ [ .]*$//;splice@c,split/ +/,$u}print$x,":^I",@u,".\n";$c[-1]=~s/ *$//;print 0+$v,'/',$t,":^I@c\n";@z=@c=();$x=$v=$t=0}else{$c[-1].=' 'x-$m;$z[-1].=' 'x$m}$m=$w=$l=0}}
467.20 BigrTex Wed Jun 5 22:56:27 2002
undef$/;@d=(<>=~/([-a-zA-Z0-9.,;:'"()&\/ ^I
]*?\.)/g);foreach(@d){@x=split;$w="";for($s=$x[$b=0];$b<$#x;){if($x[$b+1]){$s.=' 'x(3-length$x[$b]);$s.=' '.$x[++$b]}}if(length$s>60){$s=substr($s,0,57).'...'}print$#x+1 .":^I$s\n";$b=$c=0;$z=t(@x);print"$z:^I";$z="";while($c<60&&$b<=$#x){$z=t($x[$b]);$f=length$x[$b++];if(substr($s,$c,1)ne'.'){print$w.$z;$c+=$f=++$f<4?4:$f;$w=' 'x($f-length$z)}}print"
"}sub t{$_=lc join'',@_;$p=y/a-z0-9/a-z0-9/;$q=y/aeiouy//;return"$q/$p"}
eliminated 3 strokes by deleting the 4 parens in my lc/join statement in the sub, pulling myself out of last place...
467.22 Subhash Chandra Wed Jun 5 08:01:05 2002
-l $/=".";map{s/\n+/ /g;s/^\s+//g;push@$p,[split/\s+/]}<>;push@$d,[map{0+s/[aeiouy]/$&/ig."/".s/[a-z0-9]/$&/ig}@$_]for@$p;map{sort{map{$l=length($$a[$_])-length($$b[$_]);$l>0?$$b[$_].=' 'x$l:$$a[$_].=' 'x-$l;}0..@$a-2;$s="@$a";$i=$t=0;for(@$b){/(\d+)\/(\d+)/;$i+=$1;$t+=$2;}if(length$s>60){substr($s,57)='...';$k=0;for(0..@$b-1){$k+=length($$b[$_])+1;if($k>56){$#$b=$_;last;}}}($s2="@$b")=~s/ +$//;print scalar@$a,":\t$s";print"$i/$t:\t$s2";}$$d[$_],$$p[$_]}0..@$p-2;
First try
468.28 Matthias Schoder Fri Jun 7 23:44:06 2002
sub a{length pop}local$/;$_=<>;s/^\s*//;@i=split//;for(@i){$s=0,++$l,$t++if/\w/;++$w,$v++if/[aeiouy]/i;$z.=$_ if!/[\s.]/;if(/[\s.]/&&!$s){$x++;$s++;$c=0+$w.'/'.$l;$m=a($c)- a$z if!/\./;push@z,$z;@u=split//,"@z";push@c,$c;$z='';if(/\./){if(@u>59){$u[57]=$u[58]='.';splice@u,59,@u-59;$u=join'',@u;$u=~s/ [ .]*$//;splice@c,split/ +/,$u}print$x,":^I",@u,".\n";$c[-1]=~s/ *$//;print 0+$v,'/',0+$t,":^I@c\n";@z=@c=();$x=$v=$t=0}else{$c[-1].=' 'x-$m;$z[-1].=' 'x$m}$m=$w=$l=0}}
470.20 BigrTex Wed Jun 5 22:54:12 2002
undef$/;@d=(<>=~/([-a-zA-Z0-9.,;:'"()&\/ ^I
]*?\.)/g);foreach(@d){@x=split;$w="";for($s=$x[$b=0];$b<$#x;){if($x[$b+1]){$s.=' 'x(3-length$x[$b]);$s.=' '.$x[++$b]}}if(length$s>60){$s=substr($s,0,57).'...'}print$#x+1 .":^I$s\n";$b=$c=0;$z=t(@x);print"$z:^I";$z="";while($c<60&&$b<=$#x){$z=t($x[$b]);$f=length$x[$b++];if(substr($s,$c,1)ne'.'){print$w.$z;$c+=$f=++$f<4?4:$f;$w=' 'x($f-length$z)}}print"
"}sub t{$_=lc(join('',@_));$p=y/a-z0-9/a-z0-9/;$q=y/aeiouy//;return"$q/$p"}
Finally figured out how to eliminate my $c+=$f, piddly stuff for a y-index of 33, but my current goal is to crawl out of last place in the beginners.
470.28 Matthias Schoder Fri Jun 7 23:39:01 2002
sub a{length pop}local$/;$_=<>;s/^\s*//;@i=split//;for(@i){$s=0,++$l,++$t if/\w/;++$w,++$v if/[aeiouy]/i;$z.=$_ if!/[\s.]/;if(/[\s.]/&&!$s){$x++;$s++;$c=0+$w.'/'.$l;$m=a($c)- a$z if!/\./;push@z,$z;@u=split//,"@z";push@c,$c;$z='';if(/\./){if(@u>59){$u[57]=$u[58]='.';splice@u,59,@u-59;$u=join'',@u;$u=~s/ [ .]*$//;splice@c,split/ +/,$u}print$x,":^I",@u,".\n";$c[-1]=~s/ *$//;print 0+$v,'/',0+$t,":^I@c\n";@z=@c=();$x=$v=$t=0}else{$c[-1].=' 'x-$m;$z[-1].=' 'x$m}$m=$w=$l=0}}
472.28 Matthias Schoder Fri Jun 7 23:37:47 2002
sub a{length pop}local$/;$_=<>;s/^\s*//;@i=split//;for(@i){$s=0,++$l,++$t if/\w/;++$w,++$v if/[aeiouy]/i;$z.=$_ if!/[\s.]/;if(/[\s.]/&&$s==0){$x++;$s++;$c=0+$w.'/'.$l;$m=a($c)- a$z if!/\./;push@z,$z;@u=split//,"@z";push@c,$c;$z='';if(/\./){if(@u>59){$u[57]=$u[58]='.';splice@u,59,@u-59;$u=join'',@u;$u=~s/ [ .]*$//;splice@c,split/ +/,$u}print$x,":^I",@u,".\n";$c[-1]=~s/ *$//;print 0+$v,'/',0+$t,":^I@c\n";@z=@c=();$x=$v=$t=0}else{$c[-1].=' 'x-$m;$z[-1].=' 'x$m}$m=$w=$l=0}}
474.28 Matthias Schoder Fri Jun 7 23:28:39 2002
sub a{length pop}local$/;$_=<>;s/^\s*//;@i=split//;for(@i){$s=0,++$l,++$t if/\w/;++$w,++$v if/[aeiouy]/i;$z.=$_ if!/[\s.]/;if(/[\s.]/&&$s==0){$x++;$s++;$c=0+$w.'/'.$l;$m=a($c)- a$z if!/\./;push@z,$z;@u=split//,"@z";push@c,$c;$z='';if(/\./){if(@u>59){$u[57]=$u[58]='.';splice@u,59,@u-59;$u=join'',@u;$u=~s/ [ .]*$//;splice@c,split/ +/,$u}print$x,":\t",@u,".\n";$c[-1]=~s/ *$//;print 0+$v,'/',0+$t,":\t@c\n";@z=@c=();$x=$v=$t=0}else{$c[-1].=' 'x-$m;$z[-1].=' 'x$m}$m=$w=$l=0}}
476.26 Matthias Schoder Fri Jun 7 23:10:43 2002
sub l{length pop}local$/;$_=<>;s/^\s*//;@i=split//;for(@i){$s=0,++$l,++$t if/\w/;++$w,++$v if/[aeiouy]/i;$z.=$_ if!/[\s.]/;if(/[\s.]/&&$s==0){$x++;$s++;$c=0+$w.'/'.$l;$m=l($c)- l($z) if!/\./;push@z,$z;@u=split//,"@z";push@c,$c;$z='';if(/\./){if(@u>59){$u[57]=$u[58]='.';splice@u,59,@u-59;$u=join'',@u;$u=~s/ [ .]*$//;splice@c,split/ +/,$u}print$x,":\t",@u,".\n";$c[-1]=~s/ *$//;print 0+$v,'/',0+$t,":\t@c\n";@z=@c=();$x=$v=$t=0}else{$c[-1].=' 'x-$m;$z[-1].=' 'x$m}$m=$w=$l=0}}
477.19 BigrTex Wed Jun 5 22:33:53 2002
undef$/;@d=(<>=~/([-a-zA-Z0-9.,;:'"()&\/ ^I
]*?\.)/gm);foreach(@d){@x=split;$w="";for($s=$x[$b=0];$b<$#x;){if($x[$b+1]){$s.=' 'x(3-length$x[$b]);$s.=' '.$x[++$b]}}if(length$s>60){$s=substr($s,0,57).'...'}print$#x+1 .":^I$s\n";$b=$c=0;$z=t(@x);print"$z:^I";$z="";while($c<60&&$b<=$#x){$z=t($x[$b]);$f=length$x[$b++];if(substr($s,$c,1)!~/\./){print$w.$z;$f=++$f<4?4:$f;$c+=$f;$f-=length$z;$w=' 'x$f}}print"
"}sub t{$_=lc(join('',@_));$p=y/a-z0-9/a-z0-9/;$q=y/aeiouy//;return"$q/$p"}
$str -> $s sub sb -> sub t I hate that ugly -a-zA-Z1-9... regex, but .* doesn't work with the stupid paren/" test script.
478.26 Matthias Schoder Fri Jun 7 22:53:57 2002
sub l{length pop}local$/;$_=<>;s/^\s*//;@i=split//;for(@i){$s=0,++$l,++$t if/\w/;++$w,++$v if/[aeiouy]/i; $z.=$_ if!/[\s.]/;if(/[\s.]/&&$s==0){$x++;$s++;$c=0+$w.'/'.$l;$m=l($c)- l($z) if !/\./;push@z,$z;@u=split//,"@z";push@c,$c;$z='';if(/\./){if(@u>59){$u[57]=$u[58]='.';splice@u,59,@u-59;$u=join'',@u;$u=~s/ [ .]*$//;splice@c,split/ +/,$u}print$x,":\t",@u,".\n";$c[-1]=~s/ *$//;print 0+$v,'/',0+$t,":\t@c\n";@z=@c=();$x=$v=$t=0}else{$c[-1].=' 'x-$m;$z[-1].=' 'x$m}$m=$w=$l=0}}
493.28 Sheldon Fuchs Fri Jun 7 17:00:05 2002
$a.=$_ for<>;map{if(!/^\s+$/){my(@b,$b,$c,$e,$f,$s);@c=@d=@a=split;map{$z=s/[aeiouy]/1/gi||0;$y=s/[A-z0-9]//g||0;push(@b,($z."/".$y));$e+=$z;$f+=$y;}@a;map{a($_)==1?s/$/   /:a($_)==2?s/$/  /:s/$/ /;$s.=$_}@c;$s=~s/\s+$//g;if(a($s)>59){while(a($s)>57){chop$s}$s.=".."};$d=@c;print"$d:\t$s.\n";$s=~s/\s+\.+$//;for(0..$s=~s/\s+//g){$a=shift@b;($v,$d)=split'/',$a;$b=a(shift@d);$a.=" "x($b<3?$b==1?1:a($a)-$b:$b-(a($a))+1);$c.=$a}$c=~s/\s+$//;print"$e/$f:\t$c\n"}}split/\./,$a;sub a{length(shift)}
497.18 BigrTex Wed Jun 5 22:12:37 2002
undef$/;@d=(<>=~/([-a-zA-Z1-90.,;:'"()&\/ ^I
]*?\.)/gm);foreach(@d){@x=split;$w="";for($str=$x[$b=0];$b<$#x;){if($x[$b+1]){$str.=' 'x(3-length$x[$b]);$str.=' '.$x[++$b]}}if(length$str>60){$str=substr($str,0,57).'...'}print$#x+1 .":^I$str\n";$b=$c=0;$z=sb(@x);print"$z:^I";$z="";while($c<60&&$b<=$#x){$z=sb($x[$b]);$f=length$x[$b++];if(substr($str,$c,1)!~/\./){print$w.$z;$f=++$f<4?4:$f;$c+=$f;$f-=length$z;$w=' 'x$f}}print"
"}sub sb{$_=lc(join('',@_));$p=y/a-z0-9/a-z0-9/;$q=y/aeiouy//;return"$q/$p"}
977->497 isn't quite half, but compared to my early 1000+, I've cut out half my code without changing anything except deleting comments, whitespace, and parens. There probably are still extras, but I want to get this in before I start playing with combining statements.
500.21 Erik Beatty Thu Jun 6 18:25:24 2002
@w=split/\s+|\n/,join"",<>;sub p{print"$c:\t$l\n$u/$v:\t$z\n";$l="";$z="";$c=0;$u=0;$v=0}sub l{length shift}for$w(@w){next if$w!~/\w+/;$c++;$u+=$x=(lc$w)=~y/aeiouy//;$v+=$y=(lc$w)=~y/0-9a-z//;if($p){if($w=~/\./){$p=0;p}next;}$l.="$w";$z.="$x/$y";if($l!~/\.$/){while(l($l)<l($z)){$l.=$"}while(l($z)<l($l)){$z.=$"}$l.=$";$z.=$";}if($l=~/\.$/||l($l)>60){$p=1 if$w!~/\.$/;if(l($l)>60){$l=~/($w\s*)$/;$z=~s/$x\/$y\s*$// if 60-(l($l)- l($1))<4;$l=substr($l,0,57)."...";}$l=~s/\s*$//;$z=~s/\s*$//;p if!$p;}}
I'm really missing something on this one.. can't wait till the post-mortems..
519.23 Will Coleda Thu Jun 6 06:39:31 2002
$i=join(" ",<ARGV>);while($i){$i=~s/\s+$//;$i=~s/(.*?\.)//s&&push@a,$1}for$s(@a){$s=~s/^\s+//;@w=split(' ',$s);my($v,$t,$d,@n);for(@w){$_.=" ";@x=/[aeiouy]/gi;
@c=/[a-z0-9]/gi;$k=@x."/".@c;$g=length($k);$h=length;if($g<$h){$k.=" "x($h-$g)}elsif($g>$h){$_.=" "x(1+$g-$h);$k.=" "}else{$k.=" ";$_.=" "}$t+=@c;$v+=@x;push@n,$k;$d.=$_}$d=~s/\s+$//;$s=60;if(length($d)>60){substr($d,57)="...";$s=57}print@w.":\t$d
$v/$t:\t";my($j,$o);for($m=0;$m<=$#n;$m++){last if$j>=$s;$j+=length($n[$m]);$o.=$n[$m]}$o=~s/\s+$//;print"$o
"}
very inelegant.
718.25 Sec Tue Jun 4 16:11:07 2002
-l 
#$M=1 if ("@a"=~/dots/);

@a=<>;

($_="@a")=~s/\s+/ /sg;

for(/.*?\./g){
^I$p=$a=$b=$i=0;
^I$v=-1;
^I$c=@l=map {
^I^I$z=length;
^I^I$a+=$q[$i]=@{[/[aeiouy]/gi]};
^I^I$q[$i].="/".($c=@{[/\w/g]});
^I^I$q[$i].=" "x($z-length($q[$i]));
^I^I$i++;
^I^I$b+=$c;
^I^I$_.=" "x(3-$z)if(!/\./);

^I^Iprint "v=$v, len=",length," together:",$v+1+length if $M;

^I^Iif($v+1+length($_)>60){
^I^I^I$p=$i-1;
^I^I^Iprint "Line too long" if $M;
^I^I^Iif($v+1+3+1>60){
^I^I^I^Iprint "No chars will be printed" if $M;
^I^I^I^I$p--;
^I^I^I^I$p-- if ($sixty);
^I^I^I};
^I^I^I$v=-999;
^I^I};
^I^I$sixty=($v+1+length($_)==60);

^I^I$v+=1+length;
^I^I$_;
^I} split;

^I$p||=$c-1;
^I$q[$p]=~s/ +$//;
^Iprint "$c:^I",c(@l);
^Iprint "$a/$b:^I@q[0..$p]";
};

sub c{
^Ilength($_="@_")>60 && s/(?<=.{57}).*/.../;
^I$_;
};
Damn cut&paste ruined the tabs, sorry
977.22 BigrTex Wed Jun 5 21:32:00 2002
undef $/;
#$_=$1;$in=$2;
#print "new in: $in\n";
#$_=<>;
#print;
#print "\n";
#s/\"/\\\"/g;
#print;
#print "\n";
@d=(<>=~/([-a-zA-Z1-90.,;:'"()&\/ ^I
]*?\.)/gm);
#for($i=0;$i<=$#d;$i++){print"d$i: $d[$i]\n"}
foreach(@d){
    @x=split;
$w="";
#for($i=0;$i<=$#x;$i++){print"x$i: $x[$i]\n"}
#do i need this if anymore?
    for($str = $x[$b=0];$b<$#x;){
        if ($x[$b+1]){
            $str.=' 'x (3-length($x[$b]));
            $str.=' '.$x[++$b]
    }}if(length($str)>60){
        $str=substr($str,0,57).'...'
    }print $#x+1 .":^I$str\n";
    $b=$c=0;$z=sb(@x);
    print "$z:^I";$z="";
    while($c<60&&$b<=$#x){
        $z=sb($x[$b]);
        $f=length($x[$b++]);
^Iif (substr($str,$c,1)!~/\./) {
^I    print $w.$z;
            $f=++$f<4?4:$f;$c+=$f;
            $f-=length($z);
            $w=' 'x$f}
##         elsif ($c<60) {
#^I    print $w.substr($str,$c,1)}
}
    print "\n"}
sub sb{
    $_=lc(join(' ',@_));
    $p=y/a-z0-9/a-z0-9/;
    $q=y/aeiouy//;
    return"$q/$p"
}
I wish I had a diff on this machine. I hadn't understood that digits counted as letters in the "v/l" constructs. This code passes the test script, if it passes the judges, I'll quickly strip off some of the 977 characters (spaces, comments, etc.), and then I get to start actually golfing!
980.29 Amir Karger Tue Jun 4 01:36:18 2002
-w use strict;
$/ = ".";
my ($s1,$s2, $l1, $l2, $q, $max);
while (<>) {
    s/^\s+//;
    next if /^\s*$/;
    my ($totv, $totl) = count($_);
    my @word = split/\s+/;
    $s1 = $s2 = "";
    foreach my $w (@word) {
^I$max = ($l1= length $s1)> ($l2 = length $s2)? $l1 : $l2;
^I&space($s1); # noop at start; don't add spaces after period
^I&space($s2);
        my ($v, $l) = count($w);
^Imy $try1 = "$w";
^Imy $try2 = "$v/$l";
^I$s1 .= $try1;
^I$s2 .= $try2;
    }
    if ($s1 =~ s/(.{57})....+/$1.../) { # need to modify
^I$q="";
        while ($s1 =~ /\b\S+(([^.]?)\.+$)?/g) {
^I    unless ($1 && !$2) { # unless last string is just dots
^I        $s2 =~ s#\s*[\d/]+##;
^I^I$q.=$&;
^I    }
^I}
    } else {
        $q = $s2;
    }
    print scalar @word . ":\t$s1\n$totv/$totl:\t$q\n";
}

sub space {
    $_[0] &&= sprintf("%-*s", $max+1, $_[0]);
}

sub count {
    my $s = shift;
    my $vowels = $s =~ y/aeiouyAEIOUY//;
    my $letters = $s =~ y/A-Za-z0-9//;
    return ($vowels, $letters);
}
This assignment is hard! I spent so much time just getting a working solution that I decided to submit it. I'll pretend it's so that newbies can look at it for learning purposes later on. It's really just there because I spent so much freaking time on it.
2836.41 André Savigne Thu Jun 6 05:55:48 2002
eval eval '"'.


                       '\\'.'$'.'/'.('=').
                  "'".'.'."'".';'.('['^(',')).(
               '`'|'(').('`'|')').('`'|',').("\`"|
            '%').'('.'<'.'>'.')'.'\\'.'{'.'\\'.('@').
          ':'.'='.('['^'(').('['^'+').('`'|',').(('`')|
        ')').('['^'/').';'.('!'^'+').'\\'.'@'.('`'|"\.").
       '='.('`'|'-').('`'|'!').('['^'+').'\\'.'{'.'\\'.'$'
      .('['^'/').'+'.'='.'('.'\\'.'$'.('['^'(').'+'.'='.''.
     '\\'.'@'.'='.'='.'/'.'\\'.'\\'.('['^',').'/'.('`'|"'").
    ','.'\\'.'$'.'_'.'.'.'='.'\\'.'$'.'\\'.'"'.('['^'#').'('.
   ('^'^('`'|'-')).'-'.('`'|',').('`'|'%').('`'|'.').('`'|"'")
   .('['^'/').('`'|'(').')'.','.'\\'.'$'.';'.'='.('['^('+')).(
  '`'|'!').('`'|'#').('`'|'+').('{'^'[').('`'^'!').'.'.('['^'"'
  ).')'.')'.')'.('`'|'#').','.('`'|',').('`'|'#').'='.'~'.('['^
  '"').')'.('`'|'!').('`'|'%').('`'|')').('`'|'/').('['^"\.").(
 '['^'"').')'.')'.'.'."'".'/'."'".'.'.'\\'.'@'.'='.')'.';'.'\\'.
 '$'.';'.'\\'.'}'.'\\'.'@'.':'.';'.('!'^'+').'\\'.'$'.':'.('=').
 '~'.('['^'(').','.('{'^'[').'\\'.'$'.','.','.','.'\\'.'$'."\:".
 '='.'~'.('['^'(').'\\'.'@'.'('.'.'.'\\'.'{'.('^'^('`'|('+'))).(
 '^'^('`'|')')).'\\'.'}'.')'.'.'.'\\'.'{'.('^'^('`'|'*')).(',').
 '\\'        .'}'.'\\'.'@'.'\\'.'$'.('^'^('`'|'/')).        '.'.
 '.'.           '.'.'\\'.'@'.','.'\\'.'@'.(('`')|           '.')
 .'='              .'\\'.'@'.('`'|'.').('[').(              '^'^
 ('`'|               '.')).'.'.'.'.'-'.('^'^               ('`'|
 '/'))                .'+'.('['^'(').("\["^                '+').
 ("\`"|                 ',').('`'|"\)").(                 ('[')^
  '/').                  '/'.'['.('.').(                  "\{"^
  "\[").                  ']'.'+'."\/".                  (',').
   '\\'.+                  '$'.':'.']'                  ."\,".
    '\\'.                   '$'."\~".                   "\=".
    '\\'.+                  '@'."\:".                  ('.').
     '('.''.                 ('\\').                 ('$').(
      '['^'('                )."\=".                ('\\').
       '$'.('['               ^'/')               .'='.''.
        '\\'.'"'.             ':'.(             '*'^'#').
         '\\'."\$".           ':'.(           '!'^"\+").
          '\\'.('$').(       '['^'/'       )."\/".'\\'.
           '$'.('['^'(').':'.('*'^'#').'\\'.'@'.("\`"|
            '.').('!'^'+').'\\'.'"'.')'.','.'\\'.'$'.
             '~'.'='.'~'.('['^'(').','.('{'^'[').'+'
              .'\\'.'$'.','.','.','.('['^'+').('['^
                ')').('`'|')').('`'|'.').('['^'/'
                 ).'\\'.'$'.'~'.('`'|')').("\`"|
                  '&').'\\'.'$'.':'.'='.('\\').
                    '"'.'\\'.'@'.':'.'\\'.'"'
                      .('!'^'+').'\\'.'}'.(
                        '!'^'+')."\"";$:=
                          'ton hospel';
                            '@'|"\(";
The only known image of Ton Hospel [*]. [*] taken from Roswell archives, circa 1974

Artistic/Unorthodox

ScoreGolferSubmit TimeCode
154.22 Ton Hospel Fri Jun 7 22:16:27 2002
-ap056 @Q=map$_^($_^=$:^$:)^lc=~y/aeiouy//."/".s/\w/$&/g,$_,@F;$_="@F";s/(.{57})...+\./$1.../;s!.+!$#Q $&
@Q[0..s/[ .]+//g]
!;s/\0/ /g;s/ +(.*\S).*/:^I$1/g
First do some wild xor-ing. Then fix everything up using only substitutes.
159.35 Marko Nippula Thu Jun 6 19:20:25 2002
-ap056 @f=map{$_|=$:^$:;$"x+y|| ^A-z|c|y|youYOUaiIEeA||.'/'.s|\w|$&|g}$_,@F;s,(.{57})..+\w.*,$1...,,$#f=@R=/\w\S*/g,$_=@F." $_

@f

"if$_="@F";s; +(.*?) *
;:^I$1;g
Uses \r to make entry look shorter than it is. (The only way to get below 160 I've discovered this far. :)
169.25 Marko Nippula Fri Jun 7 21:24:39 2002
-ap056 $_=pack+u,'Y\xbbX\xa9\xebx^S\xff\x98^Q_\x84Ua^B\xd4\xbd\x8f=$\xcd\xe4\xf89@\xbc^O\xefk2zh\xbd<A\x8f\x9aC\x82<#\xb0?\xcd9<A\x8f\x93\xa0›t#^[ul^L \xee^\G\xa2N8\xbf48\xa3^D,\xe3\x8e0\xc1^C\xb5\x86\xea`\xfe\xfeH\xefK>C^D\xfd\x84›-\xb7N^I!?\xf5\xbb}
h\xc4\xfd\x80›t%\xb0?\xcc^K \xe2\x9a%"\xbd=_1^P\xbf+>@\xc0';y/1-Z/7 ^A9-@5Fa-}/;eval
This is longer version of entry that got refused due to platform specific differences in pack"u". Hopefully this is the ugliest *functioning* entry submitted. ;)
175.23 seano Thu Jun 6 04:27:24 2002
-ap056 ($g,@v)=map{map y/aeiouy//.'/'.s/\w//g,lc}$_="@F",@F;$n=1+s/\S+ /$&|"\0   "/eg;s/(.{57}).{4,}/$1.../;$x=$_;s/[^ .]+ */shift@v|$"x length$&/eg;s/(.*\d).*/$n:^I$x
$g:^I$1
/
One longer than it has to be, but Web-save(tm)!
176.23 seano Thu Jun 6 03:05:24 2002
-ap056 ($g,@v)=map{map y/aeiouy//.'/'.s/\w//g,lc}$_="@F",@F;$n=1+s/\S+ /$&|"\0   "/eg;s/(.{57}).{4,}/$1.../;$x=$_;s/[^ .]+ */shift@v|$"x length$&/eg;s/^(.*\d).*/$n:^I$x
$g:^I$1
/
The command-line gods have been good to me. I swore if I broke 200 I would turn pro, and much to my surprise, here we go. Minor unorthodoxy for the literal \t and \n -- hope they're legal.
244.25 Sec Fri Jun 7 00:08:30 2002
-ap056 ($_=pack u,q{^S\xf7D\xd9\xd1^ZtN^]^P^GD\xc1\xd0\x82n\x99\x88\x83'@\x87^H\x84\xfc\xe7D^K\x82^S(^S\xfc8\xf3l\x96\xe9\xf4\xa0\x96\xc4j8\xdd^S^CH^Sg\x95X\x93H^Sg\x96@\x9af \x81^Pv\xc9n\x9fJ^IxGM^Sb[^S^B\xcblM‹u^R\xc4A\xb1 -\xd8$t\xff7>v\xc4\xe0\xb7`\x8d\xd3\xfb\x86Zo\xd7\x9fO\xa6v\xf3\xc3*n\xd2`\x854D3^H\xc8#8#\xc2:^I$\x83\xa2b^P<\x9d^Q\xaaf^Q\xa6\xc4\xfd\xd0\xa0\xe8&\xf3<\x83\xa2Uy^I8\xe3\x8e,\xf1^Q8\xe3\x8flO\xdd^HL^Z\xacO\xea^S\x83\xc4^A\xaa\xe0\xca\xa0\xcc\xf1\xcb^P\xf3\xe4\xaa})=~y/'A-Z`/ a{-}e-i\n\tl n-yFm/;eval
Compression take two - without ^Ms this time.
666.66 Lucifer Sam Sun Jun 2 09:18:34 2002
-ap056                    #ooiiiooiiiooiiiooooiiiooiiio   io     oy sub baphomet{1*y/aeiouyAEIOUY//. #oiooooiooooiooooooiooooioooo   oeoo uyyy
v47.(@Q=/\w/g)}*cthulthu=*F;     #oiiiooiiiooiiiooooiiiooiiioo    oeuuoyy
$leviathan=69-9.6|0;$behemoth=   #oiooioiooioiooioooiooioiooio    uuiiioy
$satan=":\t";$behemoth^=($belial=#ooiioooiioooiiooiooiioooiioo  uuioiiiyeoo
($satan^$behemoth).$behemoth=~v47&v0 x666).baphomet, #        aooooooooyooooe
($satan^=$belial.$_)=~s/(.{$leviathan}).{4,}/$1.../&&# aeiouy       oay
$behemoth=~s/\0+(??{$+[0]<$leviathan&&v69}).*//for@cthulthu;#       oay
$_=@cthulthu?@cthulthu."$satan\n".baphomet."$behemoth\n":$astaroth;  y /\0/ /
666.66 The Beast's golf score
5004.40 Bret Victor Thu Jun 6 07:24:05 2002
 $^='$#/$=;"%>&"(;;:{(`)`<`%`()(*
 $#%{=;<;>;)$)%;{@@&@=;#{@{<`)`${
 (&:(@):           *<#$$%{)%;;$&(
 [=;$(& [=;$ )      :[=;$**[=;"#"
 $;;@@*[=;( %    )   &;;&`/`"{$(!       
 `()@@&@)* ;    {$#   &[;$=;$%&{=    
 ;$&!`=;> {    ){/(!   `%`)`/`%{)              
 {!@%@)@ /    @%[)[/)   /*;;$#:[;
 $=;                     $%<`=;$&                              
 !`=;> {    #{/(;[>[<[:   [/[=[/)
 $*&# /    $:`;;$%!`>&=;   :(@):*
 ({(##     ;=$<`%`>`:`${    (`$%!
 `)          &)`&`;(;)$       *([    <;@@&@;;@{%{#{(`@#@@*[<$<`%`>`:`
 ${(`$%!`<&"($)&{/*$#<`"$={$%%{=;    "&@@&@"(;;$)%{=;>{#{/*(#>$;{%;:;
 ={)%>&>(>)>*;#/$$%!;>&>(>)/*;;$#    *[>$                       =;"%%
                                     &=( *) #                    {@*"     
    i s                              #&`/`" {      ($$%%{=;>{/&  @(;[   
                                     >[@)>* =     [/#:`)  $;;@@& @&%&   
       f o r                         &@{"{) `     >`${&   `"(%)#{$**[   
                                     %#>`                 %$#{<[>`"%<
          A U T O S P L I T          &"($)( [     *;<[$   {$*%{<[>`$#
                                     &[/$$% :     [*;<[$  {"&<(@ @*[=
                                     {';'$# /     $=;"%>&"(;;:{  ()<%
                                     ()( *$ #                    %{=; 
 <;>;)$)%;{@@&@=;#{@{<)${(&:(@):*    <#$$                        %{)%
 ;;$&([=;$(&[=;$):[=;$**[=;"#"$;;    @@*[=;(%)&;;&/"{$(!()@@&@)*;{$#&
 [;$=                       ;$%&{    =;$&!=;>{){/(!%)/%{){!@%@)@/@%[)
 [/)/                        *;;$
 #:[;  $=;$%< =     ;$&!=;>  {#{/                              i s
 (;[> [<[:[/[ =     [/)$*&#/ $:;;
 $%!>&=;:(@): *     ({(##;=$<%>:$                         f o r              
 {($%!)&)&;(; )     $*([<;@@&@;;@
 {%{#{(@#@@*[ <     $<%>:${($%!<&                    E V A L
 "($) &{/*$#< "     $={$%%{= ;"&@
 @&@"  (;;$)% {     =;>{#{/  *(#>
 $;{%                        ;:;=
 [[';                        $~='    $:="";$^=~'.("]"^'$').'*:*\'*;$^
 =~'.('['^'(').'|([@!-*/:->]).*?'    .'([#-*;@[`{])|;;$:.=$'.++$%.'&(
 "!"&"\\""^"/")\|$'.++$%.'&(("_"^    "/"))|'.('[          >)>*;#/$$%!
                                     ;>&>(>)/                *;;$#*[>     
    i s                              $=;"%%        &=(*)#{     @*"#&/   
                                     "{($$       % %{=;>{/&     @(;[>   
       f o r                         [@)>       *= [/#:)$;;      @@&@   
                                     &%&&      @{" {)>${&"(      %)#{
          I N - P L A C E            $**[      %#> %$#{<[>       "%<&
                                     "($)(     [*; <[${$*       %{<[>
                                     $#&[/$     $% :[*;        <[${"&
                                     <(@@*[={                $#/$=;"% 
 >&"(;;:{()<%()(*$#%{=;<;>;)$)%;{    @@&@=;#{@{<          )${(&',"").
 ('@[%@%]@,'^'\'(@{@+!@').'$:';;'    (@):*<#$$%{)%;;$&([=;$(&[=;$):[=
 ;$*           *[=;"#        "$;;    @@*[=;(%)&;;&/"{$(!()@@&@)*;{$#&
 [; $=     ; $%&{=;$&!=    ;>{){/
 (!%)/     % {){!@%@)@/    @%[)[/                              i s
 )/*;;     $ #:[;$=;$%<    =;$&!=        ... sort of ...
 ;>{#{     / (;[>[<[:[/    [=[/)$                         f o r
 *&#/$     : ;;$%!>&=;:    (@):*(                     
 {(##;     = $<%>:${($%    !)&)&;        I N P U T   R E C O R D
 (;)$*     ( [<;@@&@;;     @{%{#{                             
 (@#@@*       [<$<%>      :${($%!           S E P A R A T O R 
 <&"($)&                 {/*$#<"$
 ={$%%{=;"&           @@&@"(;;$)%
 *%($';''=~('(?{'.('%]@,'^'@+!@')
 .'$~})');'*$#%^*^%&#$^&%$*^%$^&*
                               
    i s                          
                               
       f o r                     
                               
          C O R E   D U M P      
                                    a n d   
                                                S O M E T I M E S

      (>)>*;#/$$%!;>&>(>)/*;;$#*[>$=;" 
      %%&=(*)#{@*"#&/"{($$%%{=;>{/&@(;
      [>           [@)>*=[/        #:)
      $ ;;@      @ &@&%&&@{"{    )>${&
      "(%)#      { $**[%#>%$#    {<[>"    i s
      %<&"(      $ )([*;<[${$    *%{<[
      >$#&[      / $$%:[*;<[$    {"&<(        f o r
      @@*[=      { $#/$=;"%>&    "(;;:                    
      {()<%      () (*$#%{=      ;<;>;
      )$)%;        { @@&@        =;#{@             
      {<)${(        &:(     @    ):*<#       " WHY am I 
      $$%{)%;;             $&    ([=;$
      (&[=;$):[=;        $**[    =;"#"            getting 
      $;;@@*[=;(%)&;;&/"{$(!(    )@@&@
      )*;{$#&[;$=;$%&{=;$&!=;    >{){/      W H U P P E D
                             (!%)
                            /%{)               in this    
           {!@%@)        @/@%[ 
        )[/)    /*;;$#:[;$=                      competition!? "
       ;$%               
      <=;                                                 :)      
        $&      /                                      
          =;>{#'                                     

I'll never be as cool as André Savigne. but I wanted to try anyway... :)

Rejected

ScoreGolferSubmit TimeCode
12.20 Marko Nippula Tue Jun 4 20:33:01 2002
-ap056 $_|='
60.33 Benoît Chauvet Thu Jun 6 12:25:45 2002
-n056a use LWP::Simple;eval get"http://chauvet.com/benoit/p"
Soory, I had to do it... ;) Where is the "unartistic" checkbox ?
94.31 Eugene van der Pijll Fri Jun 7 07:01:01 2002
-ap056 sub t{lc=~y/aeiouy//.v47.s//$&/g}$_=/\w/&&(@z=map$_^t^($_^=t^t),@F).":^I@F
${\t}:^I@z
"y/
There's a null character in this submission. I hope this works, but I'm afraid it won't...
152.24 Ton Hospel Wed Jun 5 20:57:46 2002
-ap056 @Q=map$_^($_^=$:^$:)|lc=~y/aeiouy//."/".s/\w/$&/g,$_,@F;$_="@F";pos=57;s/\G...+\./.../;s!.+!$#Q $&
@Q[0..s/[ .]+//g]
!;s// /g;s/ +(.*\S).*/:^I$1/g
161.23 Lars Mathiesen Thu Jun 6 08:18:30 2002
-ap056 sub t{lc=~y/aeiouy//."/".s/\w/$&/g}$_=/./&&(@z=map$_^t^($_^=t^t),@F).":^I@F
".t.":^I@z
";y/\0/ /;s/ +$//mg;s/(^.*^I.{57}).{4,}/$1.../&&s#(^I.{0,56}\S+).*\Z#$1#
Encoded NUL
162.25 Rick Klement Thu Jun 6 00:15:40 2002
-056ap @c=map{s!$!$"x(3-/\./-pos)!e;$"x$-[0]|lc=~y/aeiouy//.'/'.s/\w/$&/g}$_,@F;$_="@F";s/(.{57}).{4,}/$1.../;$_&&=@F.":^I$_
@c[0..s/[ .]+//g]
";s/ +(.*?) *$/:^I$1/
162.26 Ton Hospel Tue Jun 4 16:21:08 2002
-ap056 @Q=map$"x$+[!s/$/$"x(3-pos)/e]|lc=~y/aeiouy//."/".s/\w/$&/g,$_,@F;$_="@F"&"\x7f"x$=;s/[^.]{3}$/.../;$#Q=()=/[ .]+/g;$_=@F." $_
@Q
";$_ x=!!s/ +(.*\S).*/:^I$1/g
163.26 Ton Hospel Tue Jun 4 16:18:08 2002
-ap056 @Q=map$"x$+[!s/$/$"x(3-pos)/e]|lc=~y/aeiouy//."/".s/\w/$&/g,$_,@F;$_="@F"&"^?"x$=;s/[^.]{3}$/.../;$#Q=()=/[ .]+/g;$_=@F." $_
@Q
";$_ x=!!s/ +(.*\S).*/: $1/g
164.43 Mtv Europe Sun Jun 2 22:15:23 2002
-nl $a=join'',sort split//;@{$a{$a}}=sort(@{$a{$a}},$_);END{for(sort{@{$a{$a}}<=>@{$a{$b}}||$a{$a}[0] cmp $a{$b}[0]}keys %a){$#{$a{$_}}&&print join(' ',@{$a{$_}})}}
#!perl -nl $a=join'',sort split//;@{$a{$a}}=sort(@{$a{$a}},$_);END{for(sort{@{$a{$a}}<=>@{$a{$b}}||$a{$a}[0] cmp $a{$b}[0]}keys %a){$#{$a{$_}}&&print join(' ',@{$a{$_}})}}
166.27 Marko Nippula Fri Jun 7 20:20:15 2002
-ap056 $_=pack"u$^H",'\xb1Z]\xb3q?\xf9Q^R\xf8D\x93^P-^K\xd4\xf3\xda\xf1^Sx=\xfe^P.\xf3\xfb\xd6\xbc]\x96^_O^Pc\xe5\x8c\xe0\x8f^H\xeb\xcf\xf33\xc4^X\xf8\xf9^I\x87^B1\x87^S\xbc\xc2^N\xdd\xb6y$\xe3\xf33\x8a0B\xce8\xe3^L^P;^Ub\x95O\xef\xe6\x8e\xf4\xb3\xe30O\xd5a\xc3\x82hO\xfdb\xcfB\x96!?T&^\^I;\xcfh\xb2^N)rZ+\xd3\xd2\xf3^A^K\xf2\xa3\xe3^L';y/2-Z/:-@7 5Fa-}/;eval
This was my attempt to generate better score using compression. It failed. It became something greater, my last, best hope to submit ugliest entry in the course.
173.26 Stephen Turner Mon Jun 3 08:07:12 2002
-lpa056 sub b{lc=~y/aeiouy//.'/'.s/\w/$&/g}$_=sprintf('%-3s 'x$#F,@F).$F[-1]||exit;$m=b;s/(.{57})...+/$1../;@t=map{A.y///c}/\S+ +\b/g;$_=@F.":^I$_.
$m:^I".pack"@t A*",map b,@F
See comment on my 174.28 solution.
174.23 seano Thu Jun 6 04:06:08 2002
-ap056 ($g,@v)=map{map y/aeiouy//.'/'.s/\w//g,lc}$_="@F",@F;$n=1+s/\S+ /$&|"\0   "/eg;s/(.{57}).{4,}/$1.../;$x=$_;s/[^ .]+ */shift@v|$"x length$&/eg;s/(.*\d).*/$n:^I$x
$g:^I$1
/
My browser doesn't like NULL's, so I have to do it this way...
174.28 Stephen Turner Sun Jun 2 15:49:39 2002
-lpa056 sub b{lc=~y/aeiouy//.'/'.y/A-z0-9//}$_=sprintf('%-3s 'x$#F,@F).$F[-1]||exit;$m=b;s/(.{57})...+/$1../;@t=map{A.y///c}/\S+ +\b/g;$_=@F.":^I$_.
$m:^I".pack"@t A*",map b,@F
This program passes the test script, but breaks when the first letter of a word is a punctuation mark. Assuming that such words are within the rules, this one should probably be consigned to the sand trap.
174.31 Alexander Onokhov Thu Jun 6 20:12:50 2002
-ap056 ($x,@D)=map{$_.=$"x(3-length);y/IAaiyEueOo//."/".s/\w/$&/g}$_,@F;$_="@F ";s/(.{57})...+\./$1.../;$_=@F.":^I$_
$x:^I${s/\S+[ .]+/A.length$&/ge,\pack$_,@D}
"if@F;s/ +$//mg
Just joke!
188.30 Marko Nippula Tue Jun 4 11:58:15 2002
-ap056 @G=map{sprintf"%-${\y///c}s",y?aeiouyAEIOUY??."/".s/\w/$&/g}$_,@X=map{sprintf"%-3s",$_}@F;$_="@X";s/(.{57})...+\S.*/$1.../;$#G=split/ +\.*/;$_=@X." $_\xd6@G\xd6"if@F;s/\s+(.*?) *\xd6/: $1
/g
201.21 Ton Hospel Sat Jun 1 05:58:34 2002
-an056 sub f{lc=~y/aeiouy//."/".s/\w/$&/g}@Q=map{$_.=$"x($z=f=~y///c-y///c);f.$"x-$z}@F;$f=f;$_="@F";s/ *$//;s/(.{57}).{4,}/$1.../;/\S+\s*\./;($q="@Q")=~s/(.{$-[0]}\S+).*/$1/;$_&&print@F.":^I$_
$f:^I$q
"
206.21 Ton Hospel Sat Jun 1 05:20:42 2002
-an056 sub f{lc=~y/aeiouy//."/".s/\w/$&/g}@F||next;@Q=map{$_.=$"x($z=f=~y///c-y///c);f.$"x-$z}@F;$f=f;$_="@F";s/ *$//;s/(.{57}).{4,}/$1.../;/\S+\s*\./;($q="@Q")=~s/(.{$-[0]}\S+).*/$1/;print@F.":^I$_
$f:^I$q
"
206.26 Yanick Champoux Thu Jun 6 11:05:40 2002
-p056 sub
t{map
y/aeiyou//.'/'.s/\w//g,lc
pop}@q=map$_.$"x(3-
y///c),split;@w=t$_="@q";s/
+$//;s/(.{57})....+/$1.../;@a=/\w\S*/g;"@{[map{sprintf'%-'.y///c.'s',t$_}@q[0..$#a]]}"=~/
*$/;$_&&=@q.":^I$_
@w:^I$`
"
Oh yeah.
206.33 Piers Cawley Fri Jun 7 09:46:47 2002
-an056 ub a{$_=lc;y/aeiouy//."/".y/a-z0-9//}$a=$b=':^I';for(@F){$a.=pack$l=A.(($l=y///c)>3?++$l:4),$_;$b.=pack$l,a}$a=~s/(.{59})...+\S.*/$1.../&&$b=~s/(.{58}\S*).*/$1/;$_=@F."$a
".a."$b
";s/ *$//mg;@F&&print
creeping slowly...
209.25 Chris Dolan Fri Jun 7 12:38:56 2002
-056pa @v=map{$V+=$v=y/aeiouyAEIOUY//."/".(@n=/\w/g);$N+=@n;$v.$"x(length($_.=$"x(3-length))-length$v)}@F;$_="@F";s/ *$//;s/(.{57})....+/$1.../;$#v=s/\w\S+/$&/g-1;$_=/\./&&@F.":^I$_
$V/$N:^I@v
";$V=$N=!s/\s+$/
/
Too little, too late...
209.31 Juho Snellman Thu Jun 6 03:36:28 2002
-n056 if(@d=map{$v+=@y=/[aeiouy]/ig;$a+=@o=/\w/g;$"x
y...c|@y.'/'.@o}@w=map{sprintf'%-3s',$_}/\S*\w\S*/ig){
$_="@w";s/ +$//;s/(.{57}).{4,}/$1.../;$_=@d.":^I$_
$v/$a:^I@d[0..(@_=/\s+\w/g)]
";s/ +$//;print}$v=$a=a
[^.] -> \w, removed a newline.
211.21 Ton Hospel Sat Jun 1 05:08:15 2002
-an056 sub f{lc=~y/aeiouy//."/".s/\w/$&/g}@F||next;@Q=map{$_.=$"x($z=f=~y///c-y///c);f.$"x-$z}@F;$f=f;$_="@F";s/ *$//;s/(.{57}).{4,}/$1.../;/\S+\s*\./;$n="@-";($q="@Q")=~s/(.{$n}\S+).*/$1/;print@F.":^I$_
$f:^I$q
"
211.27 Bret Victor Wed Jun 5 02:52:30 2002
-an056 reset"V-Z";@Z=map{$V+=$v=y/aeiouyAEIOUY//;$W+=$l=s/[^\W_]/$&/g;$_.=' 'x(3-length)if++$X<@F;y///c,"$v/$l"}@F;$_="@F";s/(.{57})....+/$1.../;$Z.="%-*s "for/[^ .]/g;@F&&printf"%s$Z%n%s
","$X:\t$_
$V/$W:\t",@Z
225.26 Chris Dolan Thu Jun 6 07:43:46 2002
-056na $_.=$"x(3-length)for@F;$_="@F";@v=map{$V+=$v=y/aeiouyAEIOUY//."/".(@n=/\w/g);$N+=@n;$v.$"x(length()-length$v)}@F;s/ *$//;s/(.{57})....+/$1.../&&splice@v,(@x=/\w+/g);$_=@F.":\t$_
$V/$N:\t@v";s/ *$/
/;$V=$N=!print if/\./
This passes tpr04.pl but fails on the sample text: "I am just a poor sample paragraph. Please don't treat me too hard as you split and separate me into vowels and stuff." because of the /\w+/g only works on continuous series of letters and fails on "don't"
228.23 Qingning Huo Wed Jun 5 22:25:45 2002
-n056 $x=$z=$v=$l="";$x=~s/(.{57}).{4,}/$1.../&&$z=~s/ *(?<=.{56}) +.+//,print"$w:   $x
$v/$l:  $z
"if$w=map{$0=length($x)-length$z,$z.=$".$"x$0,$x.=$".$"x-$0if$x;$v+=$V=y/aeiouyAEIOUY//;$l+=$L=s/\w/$&/g;$x.=$_;$z.="$V/$L"}split
229.21 pom Mon Jun 3 11:49:36 2002
-ln0777 map{$p=$V=$L=@C=();$_=join$",map{$q=$p;$V+=$v=lc=~y/aeiouy//;$L+=$l=y/0-9A-z//;$p=y///c-length($k="$v/$l");push@C,$"x$q.$k;$"x-$q.$_}@s=split;s/(.{57})....+/$1.../;print@s.":  $_
$V/$L:  @C[0..-1-/ \W+$/+split]"}/.+?\./gs
I saved three strokes by replacing the \t and \n in the printed string with literal tabs and new lines, I hope it comes out correctly -- the total should be 227 chars.
231.17 Honza Pazdziora Fri Jun 7 12:36:00 2002
-056n sub d{lc=~y!aeiouy!!.'/'.s!\w!$&!g}@w=/\S+/g;$"=' 'x60;$_="@w
@{[d]}:^I@{[map{d}@w]}";for$x(0..80){s/^(.{$x}) +(.*)
(.*^I.{$x}) +(.*)/$1 $2
$3 $4/}s/^(.{57}).{3,}\S.*/$1.../&&s/(^I.{56}.*?) .*$/$1/;s/\s*$//;print@w+0,":^I$_
"if@w
236.30 Bruce Gray Thu Jun 6 13:59:56 2002
-na056 $c=@F;$^A=$:='';$_.=$"x(3-length)for@F[0..@F-2];@n=map{$s=$u=y/aeiouy//.'/'.y/a-z0-9//;$s.=$"x(y///c-length$s)}map lc,@F,$_;formline'^'.'<'x56 .'...',"@F";$_=$^A;y/.//d;$#n=(split)-1;$_="$c:     $^A
$u:     @n
";s/ +$//;$c&&print
237.30 Josef Drexler Sat Jun 1 05:21:00 2002
-an056 $v=$t=$l=0;@O=map{$v+=$V=()=/[aeiouy]/gi;$t+=$T=()=/.(?=$|[a-z\d])/gi;$_.=$"x(3-$T);$e="$V/$T";$e.$"x(length()-length$e)}@F;$_="@F"||next;s/ *$//;$#O=()=/ [^. ]/g if s/(.{57}).{4,}/$1.../;$O[-1]=~y/ //d;print~~@F,":^I$_
$v/$t:^I@O
"
239.29 Josef Drexler Tue Jun 4 19:49:43 2002
-an056 sub c{()=/$_[0]/gi}$v=$t=0;@O=map{$v+=$V=c"[aeiouy]";$t+=$T=c '[a-z\d]';$_.=$"x(3- c".");$e="$V/$T";$e.$"x(c(".")-length$e)}@F;$_="@F"||next;s/ *$//;$#O=c" [^. ]"if s/(.{57}).{4,}/$1.../;$O[-1]=~y/ //d;print~~@F,":  $_
$v/$t:  @O 
"
244.25 Sec Thu Jun 6 23:31:33 2002
-ap056 ($_=pack u,q{^S\xf7D\xd9\xd1^ZtN^]^P^GD\xc1\xd0\x82n\x99\x88\x83'@\x87^H\x84\xfc\xe7D^K\x82^S(^S\xfc8\xf3l\x96\xe9\xf4\xa0\x96\xc4j8\xdd^S^CH^Sg\x95X\x93H^Sg\x96@\x9af!d
^Sg^H^P\xd7l\x96\xe9\xf4\xa0\x92[^S^B\xcblM‹u^R\xc45\xb1\0-\xd8$t\xff7>v\xc4\xe0\xb7`\x8d\xd3\xfb\x86Zo\xd7\x9fO\xa6v\xf3\xc3*n\xd2`\x854Cs^H\xc8#8#\xc2:^I$\x83\xa2b^P<\x9d^Q\xaaf^Q\xa6\xc4\xfd\xd0\xa0\xe8&\xf3<\x83\xa2Uy^I8\xe3\x8e,\xf1^Q8\xe3\x8flO\xdd^HL^Z\xacO\xea^S\x83\xc4^A\xaa\xe0\xca\xa0\xcc\xf1\xcb^P\xf3\xe4\xaa})=~y/'A-Z`/ a{-}e-i\n\tl n-yFm/;eval
I'm not sure if this file survives submitting, but it is correct (i.e. passes the test script with perl5.6.1) It is the result of my feeble attempt to shorten my script by golfing a compression routine. It (mis)uses UUen/decode for that. As uuencoding bloats a file by 33%, the inverse (uudecoding) can be used for compresstion. You have to restrict yourself to the character set of uuencode (!-` = \x21 - \x60) which is plenty of space to fit a perl program with the use of tr///; The encoder is this: # Slurp in the whole file $/=\0777; $_=<>; # Save the shebang-line s/^#!.*?\n//; $perl=$&;$perl=~s!/.*/perl!perl!; # Insert necessary line-length markers s/.{0,60}/M$&/gs; # what to translate $a=' a{-}e-i\n\tl n-yFm'; $b=q{'A-Z`}; # actually compress eval "y/$a/$b/"; $_=unpack("u*",$_); # Fix the generated string s/\000+$//; s/.$//; # Output the compressed program print $perl.q<($_=pack u,q{>.$_.q<})=~y/>."$b/$a/;eval"
247.18 Jasper McCrea Thu Jun 6 16:58:46 2002
-0 map{$T=$V=$w=$s='';$c=map{$V+=@v=/[aeiouy]/ig;$T+=@@=/\w/g;$w.=$_.=$".$"x(3-tr///c);y// /c;$s.=$s!~/.{61}/&&@v.'/'.@@|$_}/\S+/g;s/ *$/
/for$w,$s;$w=~s/(?<=.{56})(.).{4,}/$1.../;$&=~$"&&$s=~s/ +\S+$//;print"$c:\t$w$V/$T:\t$s"if$c}<>=~/[^.]+\.?/g
can you change those \t's to hard tabs, please.
250.22 Prakash Kailasa Thu Jun 6 05:28:31 2002
-lan056 map($_=/...+/?$_:pack('A3',$_),@F[-@F..-2]),$_="@F",s/(.{57})...+/$1../,@_=/[-\w']+/g,$V=$T=0,@F=(map{$_=lc,$V+=$v=y/aeiouy//,$T+=$t=s/\w/$&/g;pack'A'.(/...+/?y///c:3),"$v/$t"}@F)[0..$#_],$F[-1]=~s/ +//,print"$n:        $_.
$V/$T:  @F"if$n=@F
255.17 Peter Haworth Fri Jun 7 13:01:44 2002
-ap056 $W=$N=$C=$V=$E='';$w=@F;for(@F){$C+=$c=()=/\w/g;$V+=$v=()=/[aeiouy]/gi;$W.="$_ ";$N.="$v/$c ";($_|=$N^$N^$W^$W)=~y/\0/ /for$W,$N}$W=~s/ +$//;$W=~s/(.{57})....+/$1.../;$n=()=$W=~/(^|\s)[^\s.]/g;$N=~s/((\b\S+ *?){$n}).*/$1/;$_=$N&&"$w:^I$W
$V/$C:^I$N
"
Let's see if this gets in without C&P errors
256.30 Josef Drexler Sat Jun 1 03:44:59 2002
-an056 $v=$t=$l=@O=@P=();for(@F){$v+=$V=()=/[aeiouy]/gi;$t+=$T=()=/.(?=$|[a-z\d])/gi;$e="$V/$T";push@O,$e.$"x(length()-length$e);$_.=$"x(3-$T)if$T<3};$_="@F"||next;s/ *$//;$#O=()=/ [^. ]/g if s/(.{57}).{4,}/$1.../;$O[-1]=~y/ //d;print~~@F,":^I$_ $v/$t:^I@O
"
266.27 Alain "TopMach" Dupuis Mon Jun 3 03:02:27 2002
-0 for(<>=~/[^.]+/g){my(@r,$p,$t,$v);for(/\S+/g){$_.=' 'x(3-length);$t+=$e=()=/\w/g;$v+=$f=y/aeiouyAEI//."/$e";$f.=' 'x(y///c-length$f);$p.="$_ ";$i=push@r,$f}$_=$p;s/ +$//;/(.{57}).../and$_="$1..";$#r=(()=/\w+/g)-1;$r="@r";$r=~s/ +$//;$t&&print"$i:^I$_.
$v/$t:^I$r
"}
270.25 Alain "TopMach" Dupuis Mon Jun 3 02:00:56 2002
-0 for(<>=~/[^.]+/g){my(@r,$p,$t,$v);for(/\S+/g){$_.=' 'x(3-length);$t+=$e=()=/\w/g;$v+=$f=y/aeiouyAEI//."/$e";$f.=' 'x(length()-length$f);$p.="$_ ";$i=push@r,$f}$_=$p;s/ +$//;/(.{57}).../and$_=$1.'..';@n=/\w+/g;$#r=@n-1;$r="@r";$r=~s/ +$//;$t&&print"$i:^I$_.
$v/$t:^I$r"}
271.25 Alain "TopMach" Dupuis Mon Jun 3 02:05:39 2002
-0 for(<>=~/[^.]+/g){my(@r,$p,$t,$v);for(/\S+/g){$_.=' 'x(3-length);$t+=$e=()=/\w/g;$v+=$f=y/aeiouyAEI//."/$e";$f.=' 'x(length()-length$f);$p.="$_ ";$i=push@r,$f}$_=$p;s/ +$//;/(.{57}).../and$_=$1.'..';@n=/\w+/g;$#r=@n-1;$r="@r";$r=~s/ +$//;$t&&print"$i:^I$_.
$v/$t:^I$r
"}
272.18 RRBuonanno Mon Jun 3 02:10:49 2002
-0777 print map{@c=map{(@_=/[aeiouy]/ig).'/'.(@_=/\w/g)}@w=split,$_;$w[$_].=$"x($d=length($c[$_])-length$w[$_]),$c[$_].=$"x-$d for 0..@w-2;substr($w,57)='...'if length($w="@w")>60;($c="@c[0..($q=@_=$w=~/ \w/g)]")=~s/ *$//;@w?@w.":^I$w
$c[$#c]:^I$c
":""}split/(?<=\.)\s+/,<>;
yeesh, I was just happy to get this to work at all!
275.27 Martin Carlsen Tue Jun 4 12:03:35 2002
sub c{y/aeiouyAEIOUY//."/".y/a-zA-Z0-9//}$_=join"",<>;s/\s+/ /gs;s/^\s+//s;map{@w=split/ /;$x=c;$c=join" ",map{c." "x(length()-length c)}@w;s/(?<= )(.) /$1   /g;s/(?<= )(.\S) /$1  /g;s/^(.{57})...+/$1../&&$c=~s/^(.{56}\S*).*/$1/;$c=~s/ *$//;print@w.":^I$_.
$x:^I$c
"}split/\. /
275.27 Martin Carlsen Tue Jun 4 12:03:36 2002
sub c{y/aeiouyAEIOUY//."/".y/a-zA-Z0-9//}$_=join"",<>;s/\s+/ /gs;s/^\s+//s;map{@w=split/ /;$x=c;$c=join" ",map{c." "x(length()-length c)}@w;s/(?<= )(.) /$1   /g;s/(?<= )(.\S) /$1  /g;s/^(.{57})...+/$1../&&$c=~s/^(.{56}\S*).*/$1/;$c=~s/ *$//;print@w.":^I$_.
$x:^I$c
"}split/\. /
277.23 Damien Neil Fri Jun 7 22:40:59 2002
-n0 subX{local$_=lc$_[0];y/aeiouy/a/."/".y/a-z0-9/b/}for(split/(?<=\.)\s*/){$o=X $_;
$c=s/\s*(\S+)/sprintf"%-3s ",$1/ge;($x=$_)=~s/\S+\s*/sprintf"%*s",$-[0]-$+[0],X(
$&)/ge;s/(.{57})...+\S/$1.../&&$x=~s/(.{57})(?<= )\S.*/$1/;for($_,$x){s/\s*$//}$
c&&print"$c:\t$_\n$o:\t$x\n";}
277.26 Alain "TopMach" Dupuis Sun Jun 2 16:36:09 2002
-0 for(grep/\S/,<>=~/[^.]+/g){my(@r,$p,$t,$v);for(/\S+/g){$_.=' 'x(3-length);$t+=$e=()=/\w/g;$v+=$f=y/aeiouyAEI//."/$e";$f.=' 'while length>length$f;$p.="$_ ";$i=push@r,$f}$_=$p;s/ +$//;/(.{57}).../and$_=$1.'..';@n=/\w+/g;$#r=@n-1;$r="@r";$r=~s/ +$//;print"$i:^I$_.
$v/$t:^I$r
"}
278.24 Benoît Chauvet Mon Jun 3 08:34:30 2002
-aln056F sub p{~~y/ouyaieOUYAIE//."/".y/a-zA-Z0-9//}map{@v=map{$"x length|p}grep{shift@z<57||$z<62}@w=map{$_.=$"x(!/\./*(!/../+!/.../));push@z,$z;$z+=1+length;$_}grep/\w/,split/\s+/,"$_.";$_="@w";$p=p;62>$z||s/(.{0,57}).*/$1.../;$_=@w.":\t$_\n$p:\t@v";s/ +$//g;@w&&print;$z=0}@F
Shot some strokes down. :) Why can't this stupid y/// accept the i ??? :(
278.24 Benoît Chauvet Mon Jun 3 10:58:35 2002
-aln056F sub p{~~y/ouyaieOUYAIE//."/".y/a-zA-Z0-9//}map{@v=map{$"x length|p}grep{shift@z<57||$z<62}@w=map{$_.=$"x(!/\./*(!/../+!/.../));push@z,$z;$z+=1+length;$_}grep/\w/,split/\s+/,"$_.";$_="@w";$p=p;62>$z||s/(.{0,57}).*/$1.../;$_=@w.":\t$_\n$p:\t@v";s/ +$//g;@w&&print;$z=0}@F
Are you sure this one doen't work ? Or may be I changed it since last submission... :s
280.23 Damien Neil Fri Jun 7 22:39:46 2002
-n0 subX{local$_=lc$_[0];y/aeiouy/a/."/".y/a-z0-9/b/}for(split/(?<=\.)\s*/){$o=X $_;
$c=s/\s*(\S+)/sprintf"%-3s ",$1/ge;($x=$_)=~s/\S+\s*/sprintf"%*s",$-[0]-$+[0],X(
$&)/ge;s/(.{57})...+\S/$1.../&&$x=~s/(.{57})(?<= )\S.*/$1/;for($_,$x){s/\s*$//}$
c && print "$c:\t$_\n$o:\t$x\n";}
281.39 Eike Grote Tue Jun 4 07:11:45 2002
-ln for(split/+ /){$y++;$a+=$v=()=/[aeiouy]/ig;$e+=$c=()=/[[:alnum:]]/g;$i=length($t.="$_ ");$o=length($u.="$v/$c ");$u.=$"x($i-$o),$t.=$"x($o-$i);if(/\.$/){$u=~s/^(.{56}.*?) .*/$1/,substr($t,57)='...'if$i>61;$t=~s/ +$//;$u=~s/ +$//;print"$y:\t$t\n$a/$e:\t$u";$t=$u='';$y=$a=$e=0}}
283.25 Alain "TopMach" Dupuis Sun Jun 2 16:05:33 2002
-0 for(grep/\S/,<>=~/[^.]+/g){my(@r,$p,$t,$v);for(/\S+/g){$_.=' 'x(3-length);$t+=$e=()=/\w/g;$v+=$f=y/aeiouyAEI//."/$e";$f.=' 'while length>length$f;$p.="$_ ";$i=push@r,$f}$p=~s/ +$//;$p=~/(.{57}).../and$p=$1.'..';@n=$p=~/\w+/g;$#r=@n-1;$r="@r";$r=~s/ +$//;print"$i:^I$p.
$v/$t:^I$r
"}
286.27 Bruce Gray Tue Jun 4 01:55:05 2002
-na056 if(/\S/){$_.=$"x(3-length)for@F[0..$#F-1];$h{$_}=$u=y/AEIOUaeiouy//.'/'.y/A-Za-z0-9//for@F,$_;$h{$_}.=$"x(length($_)-length$h{$_})for@F;$_="@F";$c=@F;if(length>60){$#F--while length"@F[0..$#F-1]">55;$_="@F ";substr($_,57)='...'}s/\s+$//for$_,$h{$F[-1]};print"$c:^I$_
$u:^I@h{@F}
"}
288.46 Scott Hall Tue Jun 4 02:14:13 2002
-nla0056 y/
 / /s;$v=y/aeiouyAEIUOY//."/".y/a-zA-Z0-9//;s/(^| )\S/ @/g;y/ .@/</c;s/@<? (?!$)/@<< /g;s/ *//;if(@F){formline@F.":\t$_.
$v:\t$_<<",@F,map{y/aeiouyAEIUOY//."/".y/a-zA-Z0-9//}@F;$^A=~s/(\t.{57})....+(?=.)/$1.../;$^A=~s/(\.{3}
.+\t.*?.{56}) ..+/$1/;$^A=~s/ *$//;print$^A;$^A=''}
291.16 Peter Haworth Mon Jun 3 01:44:20 2002
-n056 $W=$N=$C=$V='';for(@w=split){$C+=$c=()=/[^\W_]/g or
next;$V+=$v=()=/[aeiouy]/gi;$n="$v/$c";$W.="$_ ";$N.="$n ";($_|=$N^$N^$W^$W)=~y/\0/ /for$W,$N}s/ +$//for$W,$N;$W=~s/(.{57})....+/$1.../;$n=()=$W=~/\S+/g;$n-=$W=~/ \.\./;$N=~s/((\b\S+ *?){$n}).*/$1/;$N&&print$n=@w,"
:\t$W
$V/$C:\t$N
"
Those \t's should be tab characters, but I can't type them into the field
291.25 Ross Younger Tue Jun 4 17:05:33 2002
-ln $b.=$".$_}map{if(s/\s*(\S.+)/$1\./){split/\s+/;$x=@_.":\t";$z=&Q.":\t";map{$x.=$_.$"x(($c=y///c-length&Q)<0?1-$c:1);$z.=&Q.$"x($c<0?1:1+$c)}@_;$_="$x
$z";s/ *
/
/;s!(^\d+:.{57}).{4,}!$1...!&&s,(/.+:\t.{56}[^ ]*).*$,$1,;s, *$,,;print}}split/\./,$b;sub Q{y/aeiouyAEIOUY//.'/'.y/a-zA-Z0-9//
Should be 4 strokes better -- my browser won't let me paste in raw tabs :-(
295.26 Ross Younger Thu Jun 6 21:34:47 2002
-ln $b.=$".$_}map{if(s/\s*(\S.*)/$1\./){split/\s+/;$x=@_.": ";$z=&Q.":      ";map{$c=y///c-length&Q;$x.=$_.$"x($c<0?1-$c:1);$z.=&Q.$"x($c<0?1:1+$c)}@_;$_="$x
$z";s/ *
/
/;s!(^\d+:^I.{57}).{4,}!$1...!&&s,(/.+:^I.{56}[^ ]*).*$,$1,;s, *$,,;print}}split/\./,$b;sub
Q{y/aeiouyAEIOUY//.'/'.y/a-zA-Z0-9//
295.29 Rick Klement Sat Jun 1 03:53:59 2002
-0p sub c{y/aeiouyAEIOUY//."/".(()=/[^\W_]/g)}sub p{($t=c).$"x(y///c-length($t))}sub f{$_=pop;$n=split;$_.=$"x(3-length)for@_;@c=map{p}@_;$_[-1]=~y/ //d;$a="@_.";$a=~s/(.{57}).{4,}/$1.../ and@c=splice@c,0,~~split' ',$1;$c[-1]=~y/ //d;"$n:    $a
".c.":  @c
"}s/^[^.]*$//s||s/\s*(.*?)\.\s*/f$1/sge
first shot...
296.25 Alain "TopMach" Dupuis Sun Jun 2 02:58:18 2002
-0 sub v{y/aeiouyAEI//}for(grep/\S/,<>=~/[^.]+/g){my(@r,$i,$p,$t);for(/\S+/g){$t+=$e=()=/\w/g;$_.=' 'x(3-length);$f=v."/".$e;$f.=' 'while length>length$f;$p.="$_ ";$i=push@r,$f}$p=~s/ +$//;59<length$p&&$p=~s/(.{57}).*/$1../;@n=$p=~/\w+/g;$#r=@n-1;$r="@r";$r=~s/ +$//;print"$i:^I$p.
",v,"/$t:^I$r
"}
297.25 Ross Younger Thu Jun 6 21:49:41 2002
-ln $b.=$".$_}map{if(s/\s*(\S.*)/$1\./){split/\s+/;$x=@_.": ";$z=&Q.":      ";map{$c=y///c-length&Q;$x.=$_.$"x($c<0?1-$c:1);$z.=&Q.$"x($c<0?1:1+$c)}@_;$_="$x
$z";s/ *
/
/;s!(^\d+:\t.{57}).{4,}!$1...!&&s,(/.+:\t.{56}[^ ]*).*$,$1,;s, *$,,;print}}split/\./,$b;sub
Q{y/aeiouyAEIOUY//.'/'.y/a-zA-Z0-9//
307.48 Scott Hall Tue Jun 4 02:10:01 2002
-nla0056 y/
 / /s;$v=y/aeiouyAEIUOY//."/".y/a-zA-Z0-9//;s/(^| )\S/ @/g;y/ .@/</c;s/@<? (?!$)/@<< /g;s/ *//;if(@F){formline@F.":     $_.     
$v:     $_<<",@F,map{y/aeiouyAEIUOY//."/".y/a-zA-Z0-9//}@F;$^A=~s/(     .{57})....+(?=
.)/$1.../;$^A=~s/(\.{3}
.+      .*?.{56}) ..+/$1/;$^A=~s/ *$//;print$^A;$^A=''}
308.35 Erik Johansen Fri Jun 7 19:58:59 2002
-n map{$a.=" ",$b.=" "if$a;$f=length($a)-length$b;$a.=" "x-$f;$b.=" "x$f;$u+=$v=y*aeiouyAEIOUY**;$c+=$l=y*a-zA-Z0-9**;$w++;$a.=$_;$b.="$v/$l";/\./&&do{substr($a,57)="..."if 60<length$a;$a=~/\w+\W+$/,$z=length$`,$b=~s/^(.{$z}\S*).*/$1/;print"$w:       $a
$u/$c:  $b
";$a=$b=$c=$u=$w=""}}split/[^-\w;:'"().]+/i
312.33 David Lowe Mon Jun 3 21:46:18 2002
-0 for(<>=~/[^\.]*\./g){my($a,$b,$i);for($_,/(\S+)\s*/g){$B=y/aeiouyAEIOUY//.'/'.y/a-zA-Z0-9//;if($i++){$c=y///c>($n=length$B)?y///c:$n;/\.$/?$c=$s='':$s=$";$a.=sprintf"%-*s$s",$c,$_;$b.=sprintf"%-*s$s",$c,$B}else{$A=$B}}$a=~s/(.{57}).*/\1.../,$b=~s/(.{0,56}\d+\/\d+).*/\1/ if length$a>60;print--$i.":^I
$A:^I$b
"}
318.48 Scott Hall Mon Jun 3 05:18:31 2002
$/=".";map{chop;y/
 / /s;split;$v=y/aeiouyAEIUOY//."/".y/a-zA-Z0-9//;s/^/ /;s/\s\S/ @/g;y/ .@/</c;s/@<? (?!$)/@<< /g;s/^ *//;if(@_){formline@_.":  $_.
$v:     $_<<
",@_,map{y/aeiouyAEIUOY//."/".y/a-zA-Z0-9//}@_;$^A=~s/( .{57})....+(?=
.)/$1.../;$^A=~s/(\.{3}
.+      .*?.{56}) ..+/$1/;$^A=~s/ *$//g;print$^A;$^A=''}}<>
This is ugly :)
319.18 Benoît Chauvet Sun Jun 2 12:24:42 2002
$/=$"='';sub p{$c=y/a-z0-9/a-z0-9/;~~s/[ouyaie]/[/g."/$c"}map{$z=$h=$j=0;$b=1;@w=grep{56>$z[$j++]||$z<61}map{$z+=1+length;$z[++$h]=$z;$_.' 'x(1+!/../+!/.../)}split/\s+/;$_=lc;@v=map{$d=p;s/./ /g;$_|=$d}map lc,@w;$_="$h:\t@w\n".p.":\t@v\n";$z-(@w<2)<61||s/(\t.{0,57}).*/$1.../;s/ +$//mg;print}split/(?<=\.)\W+/,join'',<>
First try : brute force... But it was more difficult to make it work than previous holes !
319.27 Yanick Champoux Sat Jun 1 14:13:33 2002
-n0 sub t($){local$_=lc
pop;y/aeiyou//.'/'.(@a=/\w/g)}for(/\w.*?\./sg){s/(\S+)\s+/"$1 ".(" "x(3-length$1))/eg;($y=$_)=~s/\S..?\S*/($a=t$&).(' 'x(length($&)-length$a))/eg;($s=$_)=~s/(.{0,57})(.*)/$1.(4>length$2?$2:'...')/e;$x=@a=$s=~/\w\S*/g;$y=~/(\s*\d+\/\d+){$x}/;$y=$&;print 0+(@a=/\S+/g),":  $s
",t$_,":        $y
"}
Good news, in in the top ten. Bad news, there is laast than 10 golfers playing, and I'm the last o' them. :-P
326.16 Sec Wed Jun 5 17:19:50 2002
for("@{[<>]}"=~/.*?\./sg){
^I$v=$p=$x=$b=$z=0;
^I@r=map{
^I^I$_.=$"x(3-length)if!/\./;
^I^I$-=length;

^I^I$p||=$z-($v>56)-($v>60)if($v+$->60);
^I^I$z++;
^I^I$v+=1+$-;

^I^I$b+=@D=/\w/g;
^I^I$x+=@C=/[aeiouy]/ig;

^I^Isprintf"%-$-s",@C."/".@D;
^I}@l=split;

^I$r[$#r=$p||$z-1]=~s/ +$//;

^Iprint "$z:^I","@l"=~/(.{57})..../?"$1...":"@l","
$x/$b:^I@r
";
};
Finally a solution to get out of that shamefull last place. *sigh* I want to be demoted to beginners again :-) Use new temporary variables so m// can yet be shorter than y/// The cutting to 60 chars can be optimized a bit more. oops actually $c wasn't needed
327.31 David Lowe Mon Jun 3 21:11:31 2002
undef$/;for(<>=~/.*?\.\s/gs){my($a,$b,$i,$B);for($_,/(\S+)\s*/g){$B=y/aeiouyAEIOUY//.'/'.y/a-zA-Z0-9//;if($i++){$c=y///c>length$B?y///c:length$B;/\.$/?$c=$s='':$s=' ';$a.=sprintf"%-*s$s",$c,$_;$b.=sprintf"%-*s$s",$c,$B}else{$C=$B}}$a=~s/(.{57}).*/\1.../,$b=~s/(.{0,56}\d+\/\d+).*/\1/ if length$a>60;print--$i.":\t$a\n$C:\t$b
"}
passes v1.03
336.19 Will Coleda Fri Jun 7 02:04:48 2002
for(join('',<ARGV>)=~/(.*?\.)/gs){my(@n,$v,$t,$d,$j,$r);for(split){$v+=@x=/[aeiouy]/gi;$t+=@c=/[a-z0-9]/gi;$k=@x.'/'.@c;$g=1+length()-length$k;push@n,$k.=' 'x($g>0?$g:1);$d.=$_.' 'x($g>0?1:$g<0?2-$g:2)}$d=~s/ +$//;if(length$d>($s=60)){substr($d,$s-=3)='...'}for(@n){last if$j>=$s;$j+=length;$r.=$_}$r=~s/ +$//;print@n.":^I$d
$v/$t:^I$r
"}
still the same algorithm, just cleaned up.
336.19 Will Coleda Fri Jun 7 02:37:32 2002
for(join('',<ARGV>)=~/(.*?\.)/gs){my(@n,$v,$t,$d,$j,$r);for(split){$v+=@x=/[aeiouy]/gi;$t+=@c=/[a-z0-9]/gi;$k=@x.'/'.@c;$g=1+length()-length$k;push@n,$k.=' 'x($g>0?$g:1);$d.=$_.' 'x($g>0?1:$g<0?2-$g:2)}$d=~s/ +$//;if(length$d>($s=60)){substr($d,$s-=3)='...'}for(@n){last if$j>=$s;$j+=length;$r.=$_}$r=~s/ +$//;print@n.":^I$d
$v/$t:^I$r
"}
more compression.
345.27 Yanick Champoux Sat Jun 1 03:00:00 2002
-0 sub t{$a=lc shift;($a=~y/aeiyou//).'/'.(@a=$a=~/\w/g)}
for(<>=~/\w.*?\./sg){@w=/\S+/g;s/(\S+)[\n\s]+/"$1 ".(" "x(3-length$1))/eg;$y=$_;$y=~s/\S..?\S*/$a=t($&);$a.(' 'x(length($&)-length$a))/eg;$s=$_;$s=~/(.{0,57})(.*)/;$s=$1
.(length($2)<4?$2:'...');$x=@a=$s=~/\w\S*/g;$y=~/(\s*\d+\/\d+){$x}/;$y=$&;print 0+@w, ":     $s
",t($_),":      $y
"}
Don't you *dare* laugh.
346.21 Sec Wed Jun 5 16:44:11 2002
for("@{[<>]}"=~/.*?\./sg){
^I$v=$p=$x=$b=$z=0;
^I$c=@r=map{
^I^I$_.=$"x(3-length)if!/\./;
^I^I$-=length;

^I^I$p||=$z-($v>56)-($v>60)if($v+$->60);
^I^I$z++;
^I^I$v+=1+$-;

^I^I$b+=$d=@{[/\w/g]};
^I^I$x+=$c=y/aeiouyAEIOUY//;

^I^Isprintf"%-$-s","$c/$d";
^I}@l=split;

^I$r[$#r=$p||$c-1]=~s/ +$//;

^I"@l"=~/(.{0,57})(....)?/;
^Iprint "$c:^I$1".($2?"...":$')."
$x/$b:^I@r
";
};
Remove some debugging Loose the sub, and play with sprintf Use the map array-return in a more clever way Play with sprintf Replace @{[/..../g]} with y/// where fit. And some standard golf-style shortening.
369.26 David Lowe Mon Jun 3 20:33:14 2002
undef$/;for(<>=~/.*?\.\s/gs){my(@a,@b,$a,$b);for($_,/(\S+)\s*/g){chomp;push@a,$_;$_=lc;push@b,y/aeiouy//.'/'.y/a-z0-9//}for(1..$#a){$c=length$a[$_]>length$b[$_]?length$a[$_]:length$b[$_];$_==$#a?$c=$s='':$s=' ';$a.=sprintf"%-*s$s",$c,$a[$_];$b.=sprintf"%-*s$s",$c,$b[$_]}$a=~s/(.{57}).*/\1.../,$b=~s/(.{0,56}\d+\/\d+).*/\1/ if length$a>60;print"$#a:\t$a\n$b[0]:\t$b\n"}
first working version...
373.24 Tom Hargreaves Fri Jun 7 21:18:41 2002
-0n map{split&&do{($m,@a,@b)=map[$_,($x=@x=/[aeiouy]/gi).'/'.($y=@y=/\w/gi)],$_,@_;(my$z+=1+(($q)=sort{$b<=>$a}map y///c,@$_))<63and$r=push@b,[-$q,@$_]for@a;$b[-1][0]=0;($v="@{[map{sprintf'%*s',@$_}@b]}.")=~s/(.{56})(.)(.{4,6}).*/$1$2.../and$r-=@q="$2$3"=~/\s\S/g;$b[--$r][0]=0;print++$#_.":\t$v
$m->[1]:\t@{[map{sprintf'%*s',@$_[0,2]}@b[0..$r]]}
"}}$e=$1while s/(.*?)\.//s
I hate perl golf.
409.19 Rick Cook Wed Jun 5 18:13:49 2002
undef$/;for(split/\.\s/,<>){$p=$l="";$t=$w=$h=0;for$n(split){$d=$f=$g=0;$h++;for$1(split/(.)/,$n){$d++if$1=~/[aeiouy]/i;$f++if$1=~/\w/&&$1 ne"_";$g+=.5}$w+=$d;$t+=$f;$g--if$f>9;$l.="$d/$f "." "x($g-3)if length$p<60;$p.="$n "." "x((2-$g)+1)}$p=~s/\s+$/./;while(length$p>60){chop$p;$p=~s/.{3}$/\.\.\./}if($p=~/\.{3}$/&&$p!~/\s\w\.{3}$/){while(length$l>57){chop$l}}$l=~s/\s+$//;print"$h:\t$p\n$w/$t:\t$l\n"if$h;}
415.26 Gregor Kasieczka Sun Jun 2 14:58:44 2002
while (<>)
{chomp; 
foreach (split /\. /){^I
    print 0+split/ /;
    s/((^| )\w( |$))/$1  /g;
    s/((^| )\w\w( |$))/$1 /g;
    s/\s+/ /g;
    s/(^ )|( $)//g;
    print ":\t$_\n";
    $a=$_;
    print s/[aeiouy]/G/ig."/".s/\w//g.":\t";^I
    foreach (split / /,$a)
^I     {
^I^I $b=s/[aeiouy]/G/ig;
^I^I $b=0 unless $b;
^I^I $c=s/\w/N/g;
^I^I print"$b/$c"." "x(length()<3?1:length()-2);^I^I
^I     }^I^I  
^I     print "\n";
^I }
}
This is the code I was talking about! I submit it only because of the test result(see my email) Sorry for the Problems; Kasieczka, Gregor
481.26 Matthias Schoder Fri Jun 7 22:44:26 2002
-l sub l{length pop}local$/;$_=<>;s/^\s*//;@i=split//;for(@i){$s=0,++$l,++$t if/\w/;++$w,++$v if/[aeiouy]/i; $z.=$_ if!/[\s.]/;if(/[\s.]/&&$s==0){$x++;$s++;$c=0+$w.'/'.$l;$m=l($c)- l($z) if !/\./;push@z,$z;@u=split//,"@z";push@c,$c;$z='';if(/\./){if(@u>59){$u[57]=$u[58]='.';splice@u,59,@u-59;$u=join'',@u;$u=~s/ [ .]*$//;splice@c,split/ +/,$u}print$x,":\t",@u,".\n";$c[-1]=~s/ *$//;print 0+$v,'/',0+$t,":\t@c\n";@z=@c=();$x=$v=$t=0}else{$c[-1].=' 'x-$m;$z[-1].=' 'x$m}$m=$w=$l=0}}
496.28 Sheldon Fuchs Fri Jun 7 16:47:27 2002
$a.=$_ for<>;map{if(!/^\s+$/){my(@b,$b,$c,$e,$f,$s);@c=@d=@a=split;map{$z=s/[aeiouy]/1/gi||0;$y=s/[A-z0-9]//g||0;push(@b,($z."/".$y 
);$e+=$z;$f+=$y;}@a;map{a($_)==1?s/$/   /:a($_)==2?s/$/  /:s/$/ /;$s.=$_}@c;$s=~s/\s+$//g;if(a($s)>59){while(a($s)>57){chop$s}$s.=" 
."};$d=@c;print"$d:\t$s.\n";$s=~s/\s+\.+$//;for(0..$s=~s/\s+//g){$a=shift@b;($v,$d)=split'/',$a;$b=a(shift@d);$a.=" "x($b<3?$b==1?1 
a($a)-$b:$b-(a($a))+1);$c.=$a}$c=~s/\s+$//;print"$e/$f:\t$c\n"}}split/\./,$a;sub a{length(shift)}
674.18 BigrTex Mon Jun 3 19:57:50 2002
$/=".";
while(<STDIN>){
    @x=split;
    if(length(@x)){
^Ifor($str = $x[$b=0];$b<$#x;){
            if ($x[$b+1]){
                $str.=' 'x (3-length($x[$b]));
                $str.=' '.$x[++$b]
        }}if(length($str)>60){
            $str=substr($str,0,57).'...'
        }print $#x+1 .":^I$str\n";
        $b=$c=0;$z=sb(@x);
        print "$z:^I";
        while($c<60&&$b<=$#x){
            $z=sb($x[$b]);
            $f=length($x[$b++]);
            $f=$f<3?3:$f;$c+=$f;
            $f-=length($z);
            if($c<60){$z.=' 'x++$f}
            print $z}
        print "\n"}}
sub sb{
    $_=lc(join(' ',@_));
    $p=y/a-z/a-z/;
    $q=y/aeiouy//;
    return"$q/$p"
}
I stayed at work on Friday long enough to pull down the problem, then headed home and wrote this without a computer around. I typed it in and debugged it today, but it doesn't seem to see the EOF on my machine, but I'm submitting anyway.
682.18 BigrTex Mon Jun 3 23:00:59 2002
$/=".";
while(<DATA>){
    @x=split;
    if(length(@x)){
^Ifor($str = $x[$b=0];$b<$#x;){
            if ($x[$b+1]){
                $str.=' 'x (3-length($x[$b]));
                $str.=' '.$x[++$b]
        }}if(length($str)>60){
            $str=substr($str,0,57).'...'
        }print $#x+1 .":^I$str\n";
        $b=$c=0;$z=sb(@x);
        print "$z:^I";$z="";
        while($c<60&&$b<=$#x){
            $z=sb($x[$b]);
            $f=length($x[$b++]);
            $f=++$f<4?4:$f;$c+=$f;
            $f-=length($z);
            $z.=' 'x$f;
            print substr($z,0,60)}
        print "\n"}}
sub sb{
    $_=lc(join(' ',@_));
    $p=y/a-z/a-z/;
    $q=y/aeiouy//;
    return"$q/$p"
}
Argh! Found the trick in the postmortem from the anagrams competition, and so it now works for some input, but not for all, and I don't understand this new construct or why it doesn't work, and I'm feeling very frustrated. :(
910.25 Sec Tue Jun 4 15:38:38 2002
-l 
#$M=1 if ("@a"=~/dots/);

@a=<>;

($_="@a")=~s/\s+/ /sg;

for(/.*?\./g){
    $p=$a=$b=$i=0;
    $v=-1;
    $c=@l=map {
        $z=length;
        $a+=$q[$i]=@{[/[aeiouy]/gi]};
        $q[$i].="/".($c=@{[/\w/g]});
        $q[$i].=" "x($z-length($q[$i]));
        $i++;
        $b+=$c;
        $_.=" "x(3-$z)if(!/\./);

        print "v=$v, len=",length," together:",$v+1+length if $M;

        if($v+1+length($_)>60){
            $p=$i-1;
            print "Line too long" if $M;
            if($v+1+3+1>60){
                print "No chars will be printed" if $M;
                $p--;
                $p-- if ($sixty);
            };
            $v=-999;
        };
        $sixty=($v+1+length($_)==60);

        $v+=1+length;
        $_;
    } split;

    $p||=$c-1;
    $q[$p]=~s/ +$//;
    print "$c:  ",c(@l);
    print "$a/$b:   @q[0..$p]";
};

sub c{
    length($_="@_")>60 && s/(?<=.{57}).*/.../;
    $_;
};
I think this hole is to hard for golf. It is no fun golfing if it takes me more than thre hours to correctly handle all the obscure cases on this hole. Furthermore the test script batch-testing too many different cases at once makes it really hard to see what you forgot... I just submit this for reference, as I'm not sure I will find the energy to continue with this.
935.24 BigrTex Wed Jun 5 17:33:08 2002
undef $/;

#while ($in =~ /(.*?\.)(.*)/m) {
#$_=$1;$in=$2;
#print "new in: $in\n";
@d=(<>=~/(.*?\.)/gm);
foreach(@d){
    @x=split;
    if(length(@x)){
^Ifor($str = $x[$b=0];$b<$#x;){
            if ($x[$b+1]){
                $str.=' 'x (3-length($x[$b]));
                $str.=' '.$x[++$b]
        }}if(length($str)>60){
            $str=substr($str,0,57).'...'
        }print $#x+1 .":^I$str\n";
        $b=$c=0;$z=sb(@x);
        print "$z:^I";$z="";
        while($c<60&&$b<=$#x){
            $z=sb($x[$b]);
            $f=length($x[$b++]);
^Iif ($c+$f<=60) {
            $f=++$f<4?4:$f;$c+=$f;
            $f-=length($z);
# 57 doesn't space on tpr04c.pl where it should, 58 does where it shouldn't...  have to put the spaces in later somehow, yeuch!
^Iif ($c<57&&$b<=$#x) {
            $z.=' 'x$f}
            print $z}}
        print "\"\n"}}
sub sb{
    $_=lc(join(' ',@_));
    $p=y/a-z/a-z/;
    $q=y/aeiouy//;
    return"$q/$p"
}
This won't get me out of the sandtrap, but I wanted to let the judges and everyone in the postmortem know that I'm still pounding away and making progress. I figure that this competition, even the last place beginner may finish in the money. I spent my hour on the plane this morning working through multiple bugs. I should be able to cut my score significantly by removing spaces and comments if I get it working.
1027.23 BigrTex Wed Jun 5 19:27:27 2002
undef $/;
#$_=$1;$in=$2;
#print "new in: $in\n";
#$_=<>;
#print;
#print "\n";
#s/\"/\\\"/g;
#print;
#print "\n";
@d=(<>=~/([-a-zA-Z1-90.,;:'"()&\/ ^I
]*?\.)/gm);
#for($i=0;$i<=$#d;$i++){print"d$i: $d[$i]\n"}
foreach(@d){
    @x=split;
$w="";
#for($i=0;$i<=$#x;$i++){print"x$i: $x[$i]\n"}
#do i need this if anymore?
    if(length(@x)){
^Ifor($str = $x[$b=0];$b<$#x;){
            if ($x[$b+1]){
                $str.=' 'x (3-length($x[$b]));
                $str.=' '.$x[++$b]
        }}if(length($str)>60){
            $str=substr($str,0,57).'...'
        }print $#x+1 .":^I$str\n";
        $b=$c=0;$z=sb(@x);
        print "$z:^I";$z="";
        while($c<60&&$b<=$#x){
#            if ($c<60&&$b<=$#x) {print $w.$z}
            $z=sb($x[$b]);
            $f=length($x[$b++]);
^I    if ($c+$f<=60) {
^I^Iprint $w.$z;
                $f=++$f<4?4:$f;$c+=$f;
                $f-=length($z);
                $w=' 'x$f}
^I    }
        print "\n"}}
sub sb{
    $_=lc(join(' ',@_));
    $p=y/a-z/a-z/;
    $q=y/aeiouy//;
    return"$q/$p"
}
Another day of work delays in Reno *scowl*, more time for golf *grin*. I don't understand what the difference between expected output and my output on the "Mind the gap; (59-61)" testcase, if the judges could explain, I'd appreciate it.