perl -d filename.pl
####
W $_
##
##
my(@f,@c,@w);@a=@f=;seek(DATA,0,0);@c=;
until(($_=pop(@c))=~/^_/){};unshift(@a,$_);for(1..3)
{print(shift(@c));}for(@f){my($s);split//;
$_=shift(@c);$_=~s/(.{15}).*/\1/;@w=split//;for(@_)
{$w[$s+15-$_]=(($w[$s]eq",")?".":$w[$s]);$s++;}
for(1..75){unless($w[$_]ne''){$w[$_]=$w[($_-1)];}}
print(join"",@w);print"\n";}print@a;
##
##
my(@f,@c,@w);
@a=@f=; #Read everything from __DATA__ onward into
#array @f and @a
seek(DATA,0,0); #Seek to begin of source file
@c=; #Read it all into @c , #!, DATA, and all
until( ($_=pop(@c)) =~ /^_/ ){};
#This removes one line at a time from the end
# of the source copy in @c, until the line
# removed begins with an underscore (i.e. __DATA__
#Now, all that remains in @c is the actuall code;
#all __DATA__ and the __DATA__ marker itself have
#been removed.
unshift(@a,$_); # $_, which still contains the string "__DATA__" we
#removed from @c, gets placed at the beginning of @a. We
# now have @c, which contains everything in the file up to
# the last eval line, @a, which contains the "__DATA__" line
# and all of the DATA, and @f which contains just the DATA
# contents
for(1..3){ #Just do this three times
print(shift(@c)); #pop of the top three lines of source and
#print them. e.g., "#!/usr/bin/perl", copyright notice, and
} # the four hashmarks to align your eyes.
for(@f){ # once for each line of DATA
my($s); #Remember, 'my' will undef the scalar out everytime
# this is reached. Could just as easily be $s=0;
split//;#Split it up into an array byte-by-byte. If the
#string was "1234", @_ would equal ('1', '2', '3', '4')
$_=shift(@c); #Grab the next line of code....
$_=~s/(.{15}).*/\1/; #Chop off everything after 15 charachters.
@w=split//; #Split up those 15 charachters into a 15 element array
#and put into @w
for(@_) # For each letter of the current line pulled from DATA...
{$w[$s+15-$_]=(($w[$s]eq",")?".":$w[$s]);
#Err, thats a big one. Remember, the closer the the viewer
#you want that character to be, the closer together the
#charachters that make up that plotted character have to
#be. Also, I am trapping ','s here, because if one finds
#its way into the jumble, it'll throw off the quoting and
#ruin the script. Most people won't notice the difference
#between the two when staring unless they know to look. I
#would have preffered to use 'ell' and 'one', but cant use
#them as quoting characters.
$s++; #and go down the line one by one.
}
for(1..75){ #the images are 75 charachters wide. For each one...
unless($w[$_]ne'') { #If no charachter was put there...
$w[$_]=$w[($_-1)]; #put in a copy of the one to
#the left
}
}
print(join"",@w); # Print out our line we just made.
print"\n"; #goto next line, Lather, rinse, repeat.
}
print@a; #Finally, print the __DATA__ label, and original DATA contents
##
##
__DATA__
llllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
llllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
llllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
llllllllllllllllllllllll1111111lllllllllllllllllllllllllllll
lllllllllllllllllll111111111111111111lllllllllllllllllllllll
lllllllllllllllll1111111111111111111111lllllllllllllllllllll
lllllllllllllll11111ll111111111111ll11111lllllllllllllllllll
llllllllllllll111111ll111111111111ll111111llllllllllllllllll
lllllllllllll1111111ll111111111111ll1111111lllllllllllllllll
llllllllllll11111111ll111111111111ll11111111llllllllllllllll
llllllllllll11111111ll111111111111ll11111111llllllllllllllll
lllllllllll111111111ll111111111111ll111111111lllllllllllllll
lllllllllll1111111111111111111111111111111111lllllllllllllll
llllllllll1111l11111111111111111111111111l1111llllllllllllll
lllllllllll111ll111111111111111111111111ll111lllllllllllllll
lllllllllll1111ll1111111111111111111111ll1111lllllllllllllll
llllllllllll1111ll11111111111111111111ll1111llllllllllllllll
llllllllllll11111lll1111111111111111lll11111llllllllllllllll
lllllllllllll11111lllll1111111111lllll11111lllllllllllllllll
llllllllllllll111111llllllllllllllll111111llllllllllllllllll
lllllllllllllll11111111llllllllll11111111lllllllllllllllllll
lllllllllllllllll1111111111111111111111lllllllllllllllllllll
lllllllllllllllllll111111111111111111lllllllllllllllllllllll
llllllllllllllllllllllll1111111lllllllllllllllllllllllllllll
llllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
llllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
llllllllllllllllllllllllllllllllllllllllllllllllllllllllllll