use IPC::Run qw(start run); open(my $in, "<", "in.txt") or die "Err: $!"; open(my $out, ">", "out.txt") or die "Err: $!"; my @cat = '/bin/cat'; my $h = run \@cat, $in, $out; close $in; close $out;