$envfile="/root/env.properties"; @envFile=<$env>; open my $env, '<', $envfile or die "Can't read old file: $!"; open my $in, '<', $file or die "Can't read old file: $!"; open my $out, '>', "$file.new" or die "Can't write new file: $!"; print "\nFile contents:"; print @envFile; foreach $envline (@envFile){ while ( <$in> ){ print "$. $_"; if($envline =~/$DOMAIN_DB_CONN_STR=.*:1521:.*/ && $_=~/$DOMAIN_DB_CONN_STR=.*:1521:.*/){ print "\nMatch"; $line=$_; $line =~ s/$DOMAIN_DB_CONN_STR=.*:1521:.*/NUANCE_DB_CONN_STR=$dbhost:$dbport:$dbschema/; print $out $line; } } }