Note in the docs that GD::Graph's plot() method expects to have the same number of points in every set. The docs suggest providing an explicit undef value for points that are missing from your data (not to be confused with uses of the undef function call). Are your files perhaps not always providing the same number of points?