This works perfectly thanks. But....it leads me to a small additional question. Map works on a list and sets up the value of maxsize. This looks like a regex (horror of horrors!) I'm not too familiar with anything but simple regexs! Sorry to be a pest but can you confirm my understanding of this. Assuming map works on a list, the code on the right hand of the ? uses the length function on the row being processed and if it's greater than $maxsize (which was initialised with a value of zero) then maxsize is updated with this new value ( I think). The
bit that's confusing me is after the ? What is the purpose of the ($maxsize):(length)? It can't be returning the value of length into $maxsize as that would render the first > test as pointless, wouldn't it?