Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Re: Flocking

by Ovid (Cardinal)
on Jun 22, 2000 at 21:42 UTC ( [id://19473]=note: print w/replies, xml ) Need Help??


in reply to Flocking

maleteen2000, yes, people gave you grief yesterday for your excessive questions in the Chatterbox. While, on one hand, it gets annoying that you keep asking basic questions that are already answered all over this site and others (in fact, the DBI questions you were asking yesterday were dealt with in a post ... yesterday), on the other hand, I do have to commend you on your perserverence in the face of adversity. I'll answer your question, but I'll also list a few resources that you can use to look things up on your own. First, I assume that the above code is pseudocode, because it's terrible. I'll give you the benefit of the doubt. Second, what you really want to do (at least, as far as I can tell from your example), is to modify a file in place with update mode ("+<").
# always test for failure open (FILEHANDLE, "+< $filename") || die "Can't open $filename in upda +te mode: $!\n"; # read entire file into array of lines @array = <FILEHANDLE>; # do stuff to the file here # go back to beginning of file handle seek(FILEHANDLE, 0, 0) or die ("Seek failed on $filename: $!\n"); print FILEHANDLE @array or die ("Print failed on $filename: $!\n"); # truncate the file so we don't have excess garbage at the end truncate(FILEHANDLE, tell(FILEHANDLE)) or die ("Truncate failed on $fi +lename: $!\n"); close (FILEHANDLE) or die ("Close failed on $filename: $!\n");
This code allows you to open the file, read its contents, modify them, and write them back out without having to close and reopen. I haven't tested it with flocking, so you'll need to play with it to see what type of flock works.

Please note that flocking a file doesn't stop others from playing with it. They can still modify the file if they don't check to see if it's flocked.

Further resources:

  • I don't know if you're aware of this, but perlmonks has a lot of useful information that can be read.
  • Perl.com
  • CPAN
Please don't take this as a flame, but people will be much more willing to help you if it looks like you've done your homework first.

Cheers!

PS: I took the above code straight from the Perl Cookbook. Beg your parents for a copy.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (8)
As of 2024-04-23 07:39 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found