use strict; use warnings; use Data::Dumper; { local $/; $_=; } my %rec = reverse /"([^:]*?)",/g; print Dumper \%rec; __DATA__ "id": "xx-ada-qwebasd", "name": "telphone", "id": "fasda-asd-123123-fkja123a", "name": "car", "id": "97f921-a312-fas2", "name": "ball",