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.