in reply to Re^2: how to search and replace some text in a .conf file
in thread how to search and replace some text in a .conf file

There were a few things in punch_card_don that really should have been tidied up before being presented as sample code to someone new to Perl.

First off, always use strictures (use strict; use warnings; - see The strictures, according to Seuss).

Second, always use the three parameter form of open. The intent is clearer and it's not subject to the security issues that the two parameter form is prone to.

Always use lexical file handles (open my $in, '<', $input or die ...;).

And avoid slurping files. Actually that one you sorted out for yourself - well done!

Something to consider - editing a variable record length file in place doesn't work because you can't adjust the size of an individual record without rewriting all the records that follow it. A text file is generally a variable length record file type - each line is a record. About the only way around the problem is to make an edited copy of the original file, then replace the original with the new file by judicious file deletion and renaming.


True laziness is hard work