Great. Thanks for your support. Issue is solved. Looks like my C:\Temp was created by system, though it exists with write permission some how perl is not getting permission to work in it. So I have set Temp dir in my local account like below,
C:\> SET TMPDIR=C:\Users\bakki\AppData\Local\Temp
C:\> perl -MFile::Spec -e "print File::Spec->tmpdir();"
Now everything work. Actually, it the default Temp set by windows for every user, I have modified it to point to System temp which is wrong.