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

Re^4: How can you sysread an entire file?

by NeilF (Sexton)
on Jan 14, 2006 at 17:22 UTC ( #523187=note: print w/ replies, xml ) Need Help??


in reply to Re^3: How can you sysread an entire file?
in thread How can you sysread an entire file?

OK :)

Here's an example...

my $rec; sysopen(DF,"test.txt", O_RDONLY | O_CREAT); sysread(DF, $rec, -s DF); close DF; # Split up records into array. # Will lose \n on recs - add later. @test=split("\n",$rec); # Do some work on @test Work... Work... Work... # Build up into a single record, putting \n back in my $rec;foreach(@test){$rec.=$_."\n";} sysopen(DF,"test.txt", O_WRONLY | O_CREAT); syswrite DF,$rec; close DF;
Does that help set the scene a little better? :)

So basically I want to make this as efficient as possible. I have to use SYSREAD and SYSWRITE to make the IO as optimal as possible. ie: Reading a 1 meg file would take 2000 IO processes if buffered!!!!! SYSREAD will in effect take 1!


Comment on Re^4: How can you sysread an entire file?
Download Code
Re^5: How can you sysread an entire file?
by BrowserUk (Pope) on Jan 14, 2006 at 17:56 UTC

    It won't affect your IO count but

    my $rec;foreach(@test){$rec.=$_."\n";}

    Is much better coded as

    my $rec = join "\n", @test;

    roughly 3 times faster on 1000 elements.


    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    Lingua non convalesco, consenesco et abolesco. -- Rule 1 has a caveat! -- Who broke the cabal?
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.
      Thanks! Anything like that is most appreciated!

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://523187]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (5)
As of 2014-09-20 05:16 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (153 votes), past polls