OzzyOsbourne has asked for the wisdom of the Perl Monks concerning the following question:

Normally, to get the size of a file share on a windows system, I right click on it. for a 42 GB share, this takes under 10 minutes. When scripting, I use a combination of file::Find and stat to recurse the share, pull each individual file size, and add it to a running total.

Problems with this approach:
-I must have permissions to ALL files to be accurate.
-For larger shares it takes a very long time (hours)

Becuase I am dealing with Terrabytes across my network, all the extra time that the script takes adds up fast. Usually, the script will take 8 hours to run.

-DIR /S and parse the output (not really elegant)
-AdminMisc (Will not get share size, only drive size.)
-Wait for the recurse to finish.
-Ask a serious bunch of brains for help.

Any elegant ideas?