in reply to This can't happen, can it?

Inheritance/@ISA only comes into play for method calls. function() by itself is not a method call. To make it one, say something like two->function (a class method call).

If you're looking for similar behavior without using method calls, you don't want inheritance at all. You should have the one package export function, i.e.,

package one; use base 'Exporter'; @EXPORT_OK = qw[ function ]; sub function { ... } package two; use one 'function'; function();
Update: It's come to my attention that Spiffy supposedly exports things anyway. So I'm not sure what the problem is (since it clearly doesn't get exported in this example).

blokhead