Solution:

The program uses the bitmap in the top comment to create an IFS
that is continuously calculated and pushed to a Netscape browser
using a tiny webserver, listening at port 1200.

I didn't scramble/compress the socket stuff, since I like the look
of the code.

After doing the initial socket setup, and accepting a connection,
the program scans the whitespaces in the top comment (they don't
count, remember:). These form a bitmap using "\t" for 1 and " "
for 0, saying "the perl journal" like this:

***** * *** *** *** *** *  
  * * * *   * * *   * * *  
  * *** *** *** *** **  *  
  * * * *   *   *   * * *  
    * * ***     *** * * ***
  *         ***            
  * *** * * * * *** *** *  
  * * * * * **  * * * * *  
  * * * * * * * * * *** *  
*** *** *** * * * * * * ***

From this bitmap, the parameters needed for creating an IFS image
of it are calculated by scanning the bitmap for lines. Each line's
position, rotation and size are then converted to IFS transformations
according to Barnsley's Collage Theorem.

Next, the program enters the main loop where it repeatedly adds 512 new
pixels to the IFS and pushes the current bitmap in XBM format to the
connected browser, where the image slowly develops.

NOTE: because of the optimizations, the code only works with Netscape
as far as I know. The final version is only tested on Netscape 3.0 on
Linux. Some timing problems may occur due to the limited protocol
implementation, but these are usually avoided by restarting
the server and doing a reload or two. Wait until at least 8Megs of data
is loaded before stopping to get a nice image.

I know, I know, this program would be a bit too large if it wasn't for
that whitespace bitmap, but I felt encouraged by the repeated message
"...not including whitespace". If I wanted to, I could have coded the
entire code using whitespaces and a tiny decoder, but I didn't want to
press my luck.

If you still feel like you've been cheated, feel free to change the
comment to one of the following, and get convinced:) I personally
think the last one is rather neat. You might want to change the scaling
factors to see the large ones or to expand the small ones. Just change
the 15*$; and 15*$, to something more appropriate.

1:
#			 			   	
# 	  			   	
# 	  	   			

2:
#        	        
#        	        
#        	        
#        	        
#       	 	       
#      	   	      
# 					  	  					 
#      	   	      
#       	 	       
#        	        
#        	        
#        	        
#        	        

3:
#				 							  			     			
#				 								 				   				
# 		   		   		  				 				 
# 		   						   		 			 		 
# 		   						   		  	  		 
# 		   		   		  		  	  		 
#				 								 			  	  			
#				 							  			  	  			

4:
#									       									       	
#	   	   	       	   	   	       	
#	   	   	   	   	   	   	   	   	
#	       	   	   	       	   	   	
#	       									       									

5:
#						 	 	 			
#	      	 	 	 	
#						 	 	 	 	
#       	 	 	 	
#						 	 	 	 	
#     	 	 	 	 	
#						 			 	 	
#              
#	 	 			 						
#	 	 	 	 	     
#	 	 	 	 						
#	 	 	 	       
#	 	 	 	 						
#	 	 	 	      	
#			 	 	 						

