Another gotcha with GD fonts, is that it is easier to just copy the desired font to your working directory, to get the path right. Here is a simple example. Your GD must be compiled with FreeType IIRC, to enable ttf font support. But then, you can import any ttf font you like.
my ($w, $h) = (200, 200);
my $img = GD::Image->new($w, $h);
my $white = $img->colorAllocate(255,255,255);
my $black = $img->colorAllocate(0,0,0);
# this line causes a premature exit with "success".
#my $monaco = GD::Font->load('Generic.ttf');# or die "Can't load monac
# Generic.ttf is in script's working directory
open (IMG, ">$0.png");
print IMG $img->png;