Yes, sorry. Seems as if you guys were right. But why exactly does the eval have to fail? Where could you detect the difference? I mean, after all the return value of the outer eval is the same as the one of the inner eval and $@ is empty, as specified.