# Data::Stream::Bulk::Util - Utility functions for Data::Stream::Bulk - perldoc - [phpMan]

## NAME
    [Data::Stream::Bulk::Util](https://www.chedong.com/phpMan.php/perldoc/Data%3A%3AStream%3A%3ABulk%3A%3AUtil/markdown) - Utility functions for [Data::Stream::Bulk](https://www.chedong.com/phpMan.php/perldoc/Data%3A%3AStream%3A%3ABulk/markdown)

## VERSION
    version 0.11

## SYNOPSIS
            use [Data::Stream::Bulk::Util](https://www.chedong.com/phpMan.php/perldoc/Data%3A%3AStream%3A%3ABulk%3A%3AUtil/markdown) qw(array);

            use [namespace::clean](https://www.chedong.com/phpMan.php/perldoc/namespace%3A%3Aclean/markdown);

            # Wrap a list in L<[Data::Stream::Bulk::Array](https://www.chedong.com/phpMan.php/perldoc/Data%3A%3AStream%3A%3ABulk%3A%3AArray/markdown)>
            return bulk(qw(foo bar gorch baz));

            # return an empty resultset
            return nil();

## DESCRIPTION
    This module exports convenience functions for use with [Data::Stream::Bulk](https://www.chedong.com/phpMan.php/perldoc/Data%3A%3AStream%3A%3ABulk/markdown).

## EXPORTS
    [Sub::Exporter](https://www.chedong.com/phpMan.php/perldoc/Sub%3A%3AExporter/markdown) is used to create the "import" routine, and all of its aliasing/currying goodness
    is of course supported.

    nil Creates a new [Data::Stream::Bulk::Nil](https://www.chedong.com/phpMan.php/perldoc/Data%3A%3AStream%3A%3ABulk%3A%3ANil/markdown) object.

        Takes no arguments.

    bulk @items
        Creates a new [Data::Stream::Bulk::Array](https://www.chedong.com/phpMan.php/perldoc/Data%3A%3AStream%3A%3ABulk%3A%3AArray/markdown) wrapping @items.

    cat @streams
        Concatenate several streams together.

        Returns "nil" if no arguments are provided.

    filter { ... } $stream
        Calls "filter" on $stream with the provided filter.

    unique $stream
        Filter the stream to remove duplicates.

        Note that memory use may potentially scale to O(k) where k is the number of distinct items,
        because this is implemented in terms of a seen hash.

        In the future this will be optimized to be iterative for sorted streams.

        References are keyed by their refaddr (see "id" in [Hash::Util::FieldHash](https://www.chedong.com/phpMan.php/perldoc/Hash%3A%3AUtil%3A%3AFieldHash/markdown)).

## AUTHOR
    Yuval Kogman <<nothingmuch@woobling.org>>

## COPYRIGHT AND LICENSE
    This software is copyright (c) 2012 by Yuval Kogman.

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

