in reply to Pass the arguments to the procedure in an easier way

I am no Perl guru, but I do know it is good practice to use @_ to pass args to a sub and not $_[0] 1 etc. Looks pretty Perl-ish to me. You could use FileHandle...I like it better:
use FileHandle; my $RLOG = new FileHandle "+>> $runlog" or die $!;