HASH: %update = { '2'=>{ '25' => { 'i' => 5000000, 'o' => 5000000 }, '4' => { 'o' => 5000000, 'i' => 5000000 } } }; CODE: foreach my $i (keys %update) { print Dumper($i); my $rrdfile="$pwd/$i.rrd"; my $rrd = RRD::Editor->new(); $string=(); $updateRRD="N"; foreach my $j(keys %{$update{$i}}) { foreach my $k(keys %{$update{$j}}) { $updateRRD=$updateRRD.":".$update{$i}{$j}{$k}; } } print Dumper ($updateRRD); $rrd->update($updateRRD); } Error: expected 9 data source readings (got 0) from N