http://www.perlmonks.org?node_id=682876


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 myProfile_pl.pl 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