#!/usr/bin/perl -w use strict; my $file_name = "test.txt"; open(my $in, '<', $file_name) || die "cannot open $file_name for read $!"; open(my $out, '>', "$file_name.tmp") || die "cannot open $file_name.tmp for write $!"; while( <$in>) { print $out "#" if(/\btest\b/i && !/^#/); #only one # at front of line print $out $_; } close ($in); close ($out); # save copy of original file rename ($file_name,"$file_name.bak") || die "problem with rename $!"; # replace original with the modified version rename ("$file_name.tmp", $file_name) || die "problem with rename $!"; = file test.txt before running program testing is requrired see/for/test test/data/istesting = file test.txt after running program testing is requrired #see/for/test #test/data/istesting