On Tue, 31 Aug 2004 14:07:14 -0400 (EDT), Chris Devers <[EMAIL PROTECTED]> wrote: > On Tue, 31 Aug 2004, Errin Larsen wrote: > > > I am collecting temperature data from the CPUs in my system.
<<SNIP>> > This is nitpicking, but have you considered inverting that? A format > like this might be easier to work with: > > time,cpu1,cpu2,cpu3 > Tue Aug 31 12:00:00 EDT 2004,65,65,64 > Tue Aug 31 13:00:00 EDT 2004,63,64,65 > Tue Aug 31 14:00:00 EDT 2004,62,64,66 > Tue Aug 31 15:00:00 EDT 2004,64,62,64 > > This way, you can simply append to the file with the timestamp and the > readings from each of the CPUs you're monitoring, rather than having to > open the file and append to each line. > > The downside is that if you add CPUs, the file falls apart because you > need to add / change / remove a column. The fix for this is to just have > one CPU per line, and identify it: > > time,cpu,temp > Tue Aug 31 12:00:00 EDT 2004,cpu1,65 > Tue Aug 31 12:00:00 EDT 2004,cpu2,65 > Tue Aug 31 12:00:00 EDT 2004,cpu3,64 > ... > > This is more verbose, obviously, but also more flexible. The above is good stuff. I'll work on this. There are some problems, but I'll get to them below. > > > How can I read in all the lines into their on arrays and add some data > > to the end? > > For the one I've got above, it would be something like... > > while ( <> ) { > my ($ts, $cpu, $temp) = split("," $_); > push (@{ $processors{$cpu} }, $temp); > } > > Then to get at the data, do something like > > foreach $cpu ( sort keys %processors ) { > print "$cpu: @{ $processors{ $cpu }}\n" > } > > ...or something like that... <<SNIP>> Thanks Chris. This is the sort of thing I was looking for! Now I'll go play with your suggestions some. The problem I'm gonna have is that the file format I suggested is really what I need. HOWEVER, I don't need that format when I'm collecting the data, just when I get ready to use that data. So I think I'll try collecting it as you suggest in the 2nd suggestion above, and then work on a script that will convert THAT file into the format I need. Thanks again! --Errin -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>