I was hoping I could do it without needing seek(),
Why not just hide the seek inside a function of your own? Something like:
sub printAt {
my( $fh, $src, $nChars, $offset ) = @_;
seek $fh, $offset, 0;
return print $fh substr $src, 0, $nChars;
}
printAt( $fh, $s, 4, 1234 );
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.