http://www.perlmonks.org?node_id=202317

Want a new quote script? This will output a picture of a quote in a quote file with quotes on seperate lines. It will even auto-size itself to the quote.
#!/usr/bin/perl use CGI::Carp; use GD; my $quote = &getquote; my $img = GD::Image->new(length($quote)*8+30,46); my $white = $img->colorAllocate(255,255,255); my $black = $img->colorAllocate(0,0,0); $img->transparent($white); $img->string(gdLargeFont,15,15,$quote,$black); print "Content-type: image/jpeg\n\n"; binmode(STDOUT); print STDOUT $img->jpeg; sub getquote { open FILE, 'quotes.txt' or die "Can't open quotes.txt: $!\n"; my @quotes = <FILE>; close FILE; chomp(@quotes); my $quote = $quotes[rand @quotes]; return $quote; }
update: made the script much faster by having it output in jpeg format.