Nothing to do with efficiency but:
close (DIR); [download]
Should be:
closedir (DIR); [download]
In reply to Re: Recursive sub efficiency by jwkrahn in thread Recursive sub efficiency by skywalker