What if you can't write blank.gif? There is no error check on the open. There should be an or die ("Can't write to blank.gif: $!") in there.
Wouldn't it be nice to be able to choose which file to write the gif to? If you have a function already, why not give the flexibility?
A random point about Perl style. I've grown to like list-oriented constructs. So, rather than looping over the characters and printing each one, I'd print a list of things:
print GIF map {chr($_)} @chars;
A more controversial style nit. In what little quantitative data that exists on the topic, human comprehension is maximized at any indent in the 2-4 range. Indents of 6 or more are too extreme, people lose track. So while no indent is clearly best, some are clearly worse, including the 8 character indent.
Cheers,
Ben