Take a look at Format::JSON::Stream::Reader
use Format::JSON::Stream::Reader ();
my $reader = Format::JSON::Stream::Reader->new(
    {
        input => \*FILEHANDLE,
    }
);
while (defined(my $token = $reader->fetch())
{
    # Do something with $token.
}