>> You cannot use open F,pop; because there are 3 args coming in, not 2.
Huh?!?
The function in question is
sub g{
open(F,'<',$_[1])&&&s($_[0],$a,"e$_[1]",<F>);
close F
}
On first glance, it looks like you can replace $_1 with pop for a 2-character savings. However, look at where g() is called - &$3($2,$4,$'). There are three scalars in @_, not two. The fact that g() only uses two is irrelevant.
Again, in my OP it was implicit that one should change (if possible/convenient) the way subs are actually called... it was meant to be a very generic cmt.