http://www.perlmonks.org?node_id=538450


in reply to Getting and saving IPMI Infos

You have three problems in your script

  1. "$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
  2. You will need to use the 'g' (global) modifier, otherwise you will only change the first occurence of '|'
  3. 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

Replies are listed 'Best First'.
Re^2: Getting and saving IPMI Infos
by theroninwins (Friar) on Mar 22, 2006 at 09:38 UTC
    Thanks for the help. Indeed I want to get rid of the spaces.