|We don't bite newbies here... much|
> my @bounds = new GD::Image->stringFT($colour, "Image/outline.ttf", 90, 0.18, 0, 0, $watermark_text);
it's never a good idea to mix two syntax variations
use my @bounds = GD::Image->new->stringFT($colour, "Image/outline.ttf", 90, 0.18, 0, 0, $watermark_text);
Perl wanted to provide maximum flexibility by allowing method syntax from two different language families, this leads to very annoying error messages.
IMHO indirect object syntax is a good candidate for deprecation.
It could be that only new , print and say will survive.
Avoiding is best, and mixing is a no-no!
More in Ch15 of PBP