---
name: "Data::MessagePack::Stream"
section: "3pm"
platform: "linux"
package: "libdata-messagepack-stream-perl"
version: "1.05+ds-2+b1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Data::MessagePack::Stream"
---

# Data::MessagePack::Stream(3pm)

yet another messagepack streaming deserializer

## NAME

Data::MessagePack::Stream - yet another messagepack streaming deserializer

## SYNOPSIS

```
    use Data::Dumper;
    my $unpacker = Data::MessagePack::Stream->new;
    while (read($fh, my $buf, 1024)) {
        $unpacker->feed($buf);
        while ($unpacker->next) {
            print Dumper($unpacker->data);
        }
    }
```

## DESCRIPTION

Data::MessagePack::Stream is streaming deserializer for MessagePack.

This module is alternate for Data::MessagePack::Unpacker. Unlike original unpacker, this module support internal buffer and it's possible to handle streaming data correctly.

## METHODS

### new

```
    my $unpacker = Data::MessagePack::Stream->new;
```

Create new stream unpacker.

### feed($data)

```
    $unpacker->feed($data);
```

Push `$data` into unpacker's internal buffer.

### next

```
    my $bool = $unpacker->next;
```

If parsable MessagePack packet is fed, return true. You can get that parsed data by `"data"` method described below.

### data

```
    my $data = $unpacker->data;
```

Return parsed perl object.

## AUTHOR

Daisuke Murase \<typester@cpan.org\>

## COPYRIGHT AND LICENSE

Copyright (c) 2012 by KAYAC Inc.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

The full text of the license can be found in the LICENSE file included with this module.
