#!/usr/local/bin/perl # # quick and dirty inlined animation # $seconds = 1; $basedir = "/mail/u/jdh/public_html/anim/"; $defimage = "$basedir/graypyr.gif"; @images = ( "$basedir/pyran1.gif", "$basedir/pyran2.gif", "$basedir/pyran3.gif", "$basedir/pyran4.gif", "$basedir/pyran5.gif", "$basedir/graypyr.gif", "$basedir/an-lf1.gif", "$basedir/an-lf2.gif", "$basedir/an-lf1.gif", "$basedir/graypyr.gif", "$basedir/an-rt1.gif", "$basedir/an-rt2.gif", "$basedir/an-rt1.gif", "$basedir/graypyr.gif", ); $agent = $ENV{'HTTP_USER_AGENT'}.$ENV{'HTTP_USERAGENT'}; $bound= "ThisRandomString"; if ($agent =~ /Mozilla/) { print "Content-type: multipart/x-mixed-replace;boundary=$bound\n"; print "\n--$bound\n"; foreach $i (0..$#images) { $file = $images[$i]; &output($file); print "\n--$bound\n";; sleep $seconds; } # print "\n--$bound--\n"; # for some reason, this breaks the graphic. } else { &output($defimage); } sub output { local($file) = @_; local($data,$len); open(INF,$file); $len = (stat(INF))[7]; print "Content-type: image/gif\n"; print "Content-length: $len\n\n"; read(INF,$data,$len); close(INF); print $data; }