To get a value out of a subroutine you need to use the return function. So if your sub creates the hash and you want to do something with it in the script outside, do something like; %newhash=subroutine(values); I believe you may also simply reference the hash within the subroutine, but you should be careful, as you can modify it from the script outside, giving you weird results. ~Matt C. __________________________________________________ Do You Yahoo!? Yahoo! Auctions - buy the things you want at great prices http://auctions.yahoo.com/