You are going to need to fork a process that performs the ping and then in the parent you should be able to examine the log file.
If you are using ActiveState perl 5.6 then
Take a look at this
Hope this helps
Comment on Re: Executing independet commands in PERL
Of course, it's still to note that the fork() implementation of ActiveState Perl, while amazing, does not yet work correctly, as the Win32 API dosen't support fork() in a native way. It's easy to break forking programs by passing sockets to your children.
If you don't need to pass information between your parent and child process, it might be easier to use system() calls to start new instances of the child script(s)...