Well, I could see a possibility here, but this is total speculation as I do not know the underlying implentation of the sysseek function.
Think of the case of function prototypes: sub f (\@) { print 'foo'; } my @a = qw(b c d e f z); f( @a[-2,-3,-1] ); I get this error: Type of arg 1 to main::f must be array (not array slice) The prototype specifies that this function expects an actual array to be passed in (and it addresses it via a ref). The fact that it knows the difference between an array slice and an array I think means that that info concerning the type of args being passed to a subroutine can be known to the subroutine. So, maybe the code author for sysseek, since it is a pretty low level (as in close to the OS) function, made an assumption that the parameters being passed in were 3 individual scalars. It could then misbehave if an array slice is passed in instead. Maybe a direct interface to a C-function call. Again - pure thought conjecture here on my part as I do not know the Perl guts nor the specifics of sysseek. > And curiously, the error from the first is about the > number of parameters. This statement adds strength to my conjecture as an array slice could be a single parameter (rather than three). -- Mike Arms > -----Original Message----- > From: Sisyphus [mailto:[EMAIL PROTECTED] > Sent: Tuesday, December 16, 2003 4:27 PM > Cc: Win32 perl > Subject: Re: seek parameters > > > Glenn Linderman wrote: > > Here's a strangeness: > > > > my $res = sysseek( @stk[ -2, -3, -1 ] ); > > > > fails to compile, but > > > > my $res = sysseek( $stk[ -2 ], $stk[ -3 ], $stk[ -1 ] ); > > > > compiles fine. As far as I can tell, they have the same effect. > > > > And curiously, the error from the first is about the > number of parameters. > > > > That would mean that '@stk[-2,-3,-1]' is being seen as other than 3 > arguments. But that's impossible, isn't it ? > > ('parameters' mean 'arguments' doesn't it ?) > > I certainly can't explain it. > > Cheers, > Rob _______________________________________________ Perl-Win32-Users mailing list [EMAIL PROTECTED] To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs