I would go with the Goo::Canvas, because it does everything Zinc does, (transparency, rotations, zooming, etc) plus it outputs it's entire scrollregion as pdf or svg. Zinc has no pdf output. The Tk::Canvas doesn't do transparency nor rotations(easily). So it really depends on whether I need transparency, rotations, and saving. If so.... Goo::Canvas; but if not, probably Tk::Canvas since it is more portable as of now, but in general, I don't care about MSWindows, I write for linux/unix type systems.