use Modern::Perl; my $tstatcollect = '/home/julian/tstatcollect'; open my $file, "<$tstatcollect" or die "Can't open $tstatcollect: $!"; my $data = <$file>; close $file; my @dataElem = ( split ',', $data )[ 0 .. 3 ]; foreach (@dataElem) { my ( $lable, $value ) = /"(.*)":(.*)/; say "\u$lable: $value"; } #### Temp: 70.00 Tmode: 2 Fmode: 0 Override: 0 #### my @dataElem = ( split ',', $data ); foreach (@dataElem) { next if !( my ( $lable, $value ) = (/("time":{"?)*"(.*)":([^}]+)/)[ 1, 2 ] ); say "\u$lable: $value"; } #### Temp: 75.50 Tmode: 2 Fmode: 0 Override: 0 Hold: 0 T_cool: 75.00 Tstate: 0 Fstate: 0 Day: 4 Hour: 13 Minute: 49