That may be because the empty string is a valid file name on the Hurd (it refers to the current directory), though it isn't on Linux. The perl program that uses the empty file name, when what it really intends is not to refer to any file name, is buggy.