use v5.12.0; use warnings; use Data::Dump; use JSON::XS; my $ident ='{"created_at":'; local $/ = "\n$ident"; my $prefix=""; while () { chomp; # removes $/ from the end my $obj = "$prefix$_"; ddx $obj; say "-" x 30; dd decode_json($obj); #say "-" x 72; $prefix = $ident; } __DATA__ {"created_at":"Sat Mar 02 18:45:26 +0000 2013","id":307924626426695681,"id_str":"307924626426695681","etc":"***YADDA YADDA ***","id_str":"2621098741943851970"} {"created_at":"Sat Mar 02 18:45:26 +0000 2013","id":307924626426695681,"id_str":"307924626426695681","etc":"***YADDA YADDA ***","id_str":"2621098741943851970"} {"created_at":"Sat Mar 02 18:45:26 +0000 2013","id":307924626426695681,"id_str":"307924626426695681","etc":"***YADDA YADDA ***","id_str":"2621098741943851970"} #### # raw_json.pl:16: "{\"created_at\":\"Sat Mar 02 18:45:26 +0000 2013\",\"id\":307924626426695681,\"id_str\":\"307924626426695681\",\"etc\":\"***YADDA YADDA ***\",\"id_str\":\"2621098741943851970\"}" ------------------------------ { created_at => "Sat Mar 02 18:45:26 +0000 2013", etc => "***YADDA YADDA ***", id => 307924626426695681, id_str => 2621098741943851970, } # raw_json.pl:16: "{\"created_at\":\"Sat Mar 02 18:45:26 +0000 2013\",\"id\":307924626426695681,\"id_str\":\"307924626426695681\",\"etc\":\"***YADDA YADDA ***\",\"id_str\":\"2621098741943851970\"}" ------------------------------ { created_at => "Sat Mar 02 18:45:26 +0000 2013", etc => "***YADDA YADDA ***", id => 307924626426695681, id_str => 2621098741943851970, } # raw_json.pl:16: "{\"created_at\":\"Sat Mar 02 18:45:26 +0000 2013\",\"id\":307924626426695681,\"id_str\":\"307924626426695681\",\"etc\":\"***YADDA YADDA ***\",\"id_str\":\"2621098741943851970\"}\n" ------------------------------ { created_at => "Sat Mar 02 18:45:26 +0000 2013", etc => "***YADDA YADDA ***", id => 307924626426695681, id_str => 2621098741943851970, }