in reply to truncate or trunc

Hi, Thanks for the quick replies. Here is my code: while (<DATA>){ unless (/$data_line_old/i){ my $read_position = tell DATA; seek DATA, $write_position, 0; print DATA $_; $write_position = tell DATA; seek DATA, $read_position, 0; } } truncate DATA, $write_position; close DATA; I tried to remove old lines from a text file. The tell and seek monitor the positions of the existing file and temporary file that it is creating. At the end of the creation. I try to use the truncate or trunc to cut the finished file to the right size(length). After the confidence you gave about the truncate, I tried again a few more times and discovered what went work. I initial used trunc and it errors me out as: Can't locate object method "trunc" via package "IO::Handle" at line 514, <DATA> line 10. Since this error, the original file got messed up. Then the truncate went wild after a few runs. The text file became super long with wrong length. I have it working now. Thanks, Jason

Replies are listed 'Best First'.
Re^2: truncate or trunc
by apl (Monsignor) on Apr 25, 2008 at 17:08 UTC
    Please bracket your code with <code> and </code>. Thanks.

    I assume you opened a file with the filehandle DATA? Please change that to something else. DATA is reserved for a block of sample data within your program.

    Then you might consider testing your error returns...