Thanks batkins. And here's one for the folks who want to make one of their own. :)
#!/usr/bin/perl -w
use strict;
undef $/;
my @body = <DATA> =~ /(.)/sg;
my %index_for;
push @{$index_for{$body[$_]}}, $_ for 0 .. $#body;
my @idx =
map $_->[rand @$_],
map +($index_for{$_} || [ @body + 1 ]),
(<> =~ /(.)/sg);
print << "END";
\$/ = \\1;
print +(<DATA>)[qw(@idx)];
__DATA__
@{[ join '', @body ]}
END
__DATA__
You cannot pass,' he said. The orcs stood still and a silence fell. `I
am a servant of the Secret Fire, wielder of the Flame of Anor. You
cannot pass. The dark fire will not avail you, flame of Udun.
$ echo Some random phrase | perl listify | perl
Some random phrase
Writing programs that write other programs is still the biggest fun. :)
Makeshifts last the longest. |