Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery

tell() on sysread()

by perlcapt (Pilgrim)
on Oct 25, 2004 at 15:34 UTC ( #402249=perlquestion: print w/replies, xml ) Need Help??
perlcapt has asked for the wisdom of the Perl Monks concerning the following question:

I'm having problems getting tell() to return a value other than 0 after doing a sysread().
# in a loop after appropriate open $bytes = sysread($self->{FH},$self->{buffer},1024); print tell($self->{FH}),"\n";
$bytes is a lovely 1024, and there is good stuff in the buffer, but tell() is always returning 0; Is it my reference to a filehandle which works fine for sysread, but not for tell?
Update: merlyn explains why it doesn't work. The manual says to use sysseek(FH,0,1) which returns the offset just as implied. Problem understood and solved

Replies are listed 'Best First'.
•Re: tell() on sysread()
by merlyn (Sage) on Oct 25, 2004 at 15:41 UTC
      are you certain? beacuse the following works for me
      perl -e'open FH,"<"||die$!;$fh=\*FH;sysread($fh,$foo,256); $bar=tell($fh);print"$foo\n$bar\n";'
        Yet it fails miserably on Win32. The side-effects of using sysread are system-specific.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://402249]
Approved by tinita
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (6)
As of 2018-04-26 21:47 GMT
Find Nodes?
    Voting Booth?