Your my $args = join(',', @grid); is stringifying
everything inside @grid, including all the
objects. The grid widgit manager expects a
list of objects, not whatever comes out the the eval.
I think you want: $$first -> grid (@grid),
but it's hard to say something with substance of a code
fragment that can't be run standalone.