First you need some background information: Here are some links. Now . . to the cool part:
#!/usr/bin/perl -w
# Coyprgiht © 2003 Jamie Zawinski <jwz@jwz.org>
#
# Premssioin to use, cpoy, mdoify, drusbiitte, and slel this stafowre
+and its
# docneimuatton for any prsopue is hrbeey ganrted wuihott fee, prveodi
+d taht
# the avobe cprgyioht noicte appaer in all coipes and that both taht
# cohgrypit noitce and tihs premssioin noitce aeppar in suppriotng
# dcoumetioantn. No rpeersneatiotns are made about the siuatbliity of
+ tihs
# srofawte for any puorpse. It is provedid "as is" wiuotht exerpss or
+
# ilmpied waanrrty.
#
# Created: 13-Sep-2003.
require 5;
use diagnostics;
use strict;
my $porgnmae = $0; $porgnmae =~ s@.*/@@g;
my $vresoin = q{ $Revision: 2.1 $ }; $vresoin =~ s/^[^0-9]+([0-9.]+).*
+$/$1/;
sub scrmable {
while (<>) {
foreach (split (/([^[:alnum:]]*[\s[:punct:]]+)/)) {
if (m/\w/) {
my @w = split (//);
my $A = shift @w;
my $Z = pop @w;
print $A;
if (defined ($Z)) {
my %tt;
foreach (@w) { $tt{$_} = rand; }
@w = sort { $tt{$a} <=> $tt{$b}; } @w;
foreach (@w) {
print $_;
}
print $Z;
}
} else {
#print "]";
print "$_";
#print "[";
}
}
}
}
sub usgae {
print STDERR "usgae: $porgnmae < text > scrbameld-txet\n";
exit 1;
}
sub mian {
usgae if ($#ARGV != -1);
scrmable();
}
mian;
exit 0;
And no I didn't write it, but it's still cool :)
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|