You have three problems in your script
- "$tmp=s/\|/\=/,$line;" I've no idea what $tmp and $line will do in this context, but you are neither checking $line nor assigning to $tmp - use =~ if you are not running a regex against $_ - and $tmp is superfluous
- You will need to use the 'g' (global) modifier, otherwise you will only change the first occurence of '|'
- If you want to get rid of spaces (as you seem to imply), then you will need to include this in your regex
$saved[0] = 'CPU 1 |3000 RPM |ok';
$saved[1] = 'Power Supply |unspecified |cr';
open OUTPUT, ">>ipmiinfo.txt";
foreach $line(@saved){
$line =~ s/\s*\|\s*/\=/g;
print OUTPUT "$line\n";
}
close OUTPUT;
Tom Melly, tom@tomandlu.co.uk