The cause - cont'd
"...Which modifies $_"
Which is _not_ localized by while()!
foreach localizes $_
while doesn't
The breakage is propagated up to the grep
LJ::S2::can_use_layer caches file IO, so only the first hit mangles $_
The result: the first element in the pop-up list is blank