Oh, I see, you are calling glob in scalar context where it returns the number of files matching.
Also, you don't need mget when you have already used glob to resolve the name. get will do in that case:
in reply to Re^2: Net::SFTP::Foreign getting files
in thread Net::SFTP::Foreign getting files
($file) = $sftp->glob($file, names_only => 1);
defined $file or die "file not found";