in reply to hash to sub

you are passing a hash reference to a subrouting. you need the parentesis to dereference this reference inside of the subroutine and fill the has you going to use later. According to a later use of this data it may be better to work with this reference instead to copy all the data to other hash. For detailed explanation read perlreftut.