in reply to Passing an array back from a subroutine

The problem is likely a scoping issue. If you execute the code

if ($ff1) { my @a_ff1 = &GetRow("$ff1") }

@a_ff1 is scoped to the if loop. Can we see more of the code surrounding your assignment? Do you see the expected result if you run

if ($ff1) { my @a_ff1 = &GetRow("$ff1"); print join "\n", @a_ff1; }

in place of your existing assignment? See Variable scoping in perlintro.