Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Re^3: Empty File Contents before writing

by gautamparimoo (Beadle)
on Feb 19, 2013 at 09:47 UTC ( #1019499=note: print w/ replies, xml ) Need Help??


in reply to Re^2: Empty File Contents before writing
in thread Empty File Contnts before writing

So I will have to open and close the file agin in order to completely truncate watever is written in previous write attempts?


Comment on Re^3: Empty File Contents before writing
Re^4: Empty File Contents before writing
by johngg (Abbot) on Feb 19, 2013 at 10:04 UTC

    There is also a built-in function called truncate that will do what you want.

    $ perl -Mstrict -Mwarnings -e ' > open my $fh, q{>}, q{rubbish} or die $!; > print $fh qq{A longish line of text\n}; > truncate $fh, 0 or die $!; > print $fh qq{Short\n}; > close $fh or die $!;' $ cat rubbish Short $

    Update: Added example code.

    Cheers,

    JohnGG

      The help for truncate says

      The position in the file of FILEHANDLE is left unchanged. You may want + to call seek before writing to the file.

      So, any ideas why your code works without needing a seek 0?

        You are right. I hadn't read the documentation carefully enough and hadn't spotted that. Running hexdump -C shows that a seek is indeed necessary.

        $ perl -Mstrict -Mwarnings -e ' > open my $fh, q{>}, q{rubbish} or die $!; > print $fh qq{A longish line of text\n}; > truncate $fh, 0 or die $!; > print $fh qq{Short\n}; > close $fh or die $!;' $ cat rubbish Short $ hexdump -C rubbish 00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |......... +.......| 00000010 00 00 00 00 00 00 00 53 68 6f 72 74 0a |.......Sh +ort.| 0000001d $

        Thank you for the correction.

        Cheers,

        JohnGG

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (5)
As of 2014-12-22 03:57 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (110 votes), past polls