japhy, a fellow
saint has written a funky module called
File::chmod which might be worth looking at.
You will be specifically interested in the function
getchmod() which does exactly what it 'says on the box' - i.e. returns a list of the current mode of each file you pass to it. You might also be interested in the functions that returns symbolic permisson modes and only "ls" permisson modes.
Hope this helps.
- wil