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}.