in reply to Re^2: Object oriented mess
in thread Object oriented mess

I see now; since you're requiring abc.pl in package Client first (remember that use is run at compile time), its functions will be in package Client update: unless you put an explicit package statment in abc.pl. If you later require() abc.pl again in the main package that's a noop, since require caches.

You really want to take a look at Exporter.