Retrieve data correctly in a forked process

The file handler (```\*{PACKAGE::DATA}```) points same address among a parent and child processes, so sometimes a child process fails to get data in following condition:

    <child1>     <child2>
    seek $d,0,0
                 seek $d,0,0
    <$d>
                 <$d> # fail. position of $d is at end of file.

So explicitly open a target file and use this filehandle instead of ```\*{PACKAGE::DATA}```.