in reply to Using the map function
Output:#!/usr/bin/perl use strict; use warnings; use Data::Dumper; #Get the data into a scalar. my $content = do {local $/=undef;<DATA>}; # Slurp local $/="\n\n"; open my $f, "<", \$content or die "Cannot open scalar:$!"; my (@temps, @status); while (<$f>) { # We get all 3 items on a line my @row = m/(\w+)/g; if ($row[1] eq "Temp"){ push @temps, {map {$row[$_*3 - 3] => $row[$_*3 - 1]} 1..3}; }else{ push @status, {map {$row[$_*3 - 3] => $row[$_*3 - 1]} 1..3}; } } print Dumper \@temps, \@status; __DATA__ CPU Temp = 30 GFX Temp = 45 RAM Temp = 40 CPU Status = OK GFX Status = OK RAM Status = OK
Of course, the whole 'read into a scalar' thing could be avoided if we were doing io on a 'real' file.$VAR1 = [ { 'GFX' => '45', 'RAM' => '40', 'CPU' => '30' } ]; $VAR2 = [ { 'GFX' => 'OK', 'RAM' => 'OK', 'CPU' => 'OK' } ];
My goal ... to kill off the slow brain cells that are holding me back from synergizing my knowledge of vertically integrated mobile platforms in local cloud-based content management system datafication.
|
|---|