in reply to getpwnam(@_) ???

getpwnam assumes a scalar, so you're array is being turned into the array count.

sub g1 { getpwnam(@_) } # equivalent to. sub g1 { getpwnam(scalar @_) }