Wow, I have never seen that $a = require( filename ) construction. But according to the manual, a return() within an included file will halt execution of the include and pass back the value. I have no idea why it doesn't work for you, but perhaps this wasn't a feature yet in 4.1?