I have determined that the person that had written this script was being inefficient. They were running a db2 command putting the output into a variable then writing the variable to a file then reading the file and writing its contents into another file. I have shortened up the code and made it a little cleaner. I have gotten rid of the sed stuff completely and when I run it it does not give me any error message at all. Thank you to all of you for replying. Here is the snippet that I have changed:
OLD:
$bkp = `db2 "list history backup all for $db " |tail -6`;
open TEMP, ">$temp";
print TEMP $bkp;
close TEMP;
print FILE "\nBackup Information:\n";
$bkp_info = `sed -e :a -e "{$d;N;2,3ba}" -e "{P;D}" /db2/$DB2DBDFT/Mes
+sages/temp.txt`;
if($bkp_info =~ /Start/)
{
print FILE $bkp_info;
}
NEW:
$bkp = `db2 "list history backup all for $db " |tail -6`;
print FILE "\nBackup Information:\n";
if($bkp =~ /Start/)
{
print FILE $bkp;
}
This new code saves 4 lines and doesn't give errors and the output via the email is still the same so I have no idea what the original programmer was doing with the sed command. |