---
name: "List::Objects::WithUtils::Role::Array::WithJunctions"
section: "3pm"
platform: "linux"
package: "liblist-objects-withutils-perl"
version: "2.028003-5"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/List::Objects::WithUtils::Role::Array::WithJunctions"
---

# List::Objects::WithUtils::Role::Array::WithJunctions(3pm)

Add junctions

## NAME

List::Objects::WithUtils::Role::Array::WithJunctions - Add junctions

## SYNOPSIS

```
  ## Via List::Objects::WithUtils::Array ->
  use List::Objects::WithUtils 'array';
  my $array = array(qw/ a b c /);
  if ( $array->any_items eq 'b' ) {
    ...
  }
  if ( $array->all_items eq 'a' ) {
    ...
  }
  if ( $array->any_items == qr/^b/ ) {
    ...
  }
  ## As a Role ->
  use Role::Tiny::With;
  with 'List::Objects::WithUtils::Role::Array',
       'List::Objects::WithUtils::Role::Array::WithJunctions';
```

## DESCRIPTION

These methods supply overloaded List::Objects::WithUtils::Array::Junction objects that can be compared with values using normal Perl comparison operators.

Regular expressions can be matched by providing a `"qr//"` regular expression object to the `"=="` or `"!="` operators.

There is no support for the `"~~"` experimental smart-match operator.

The junction objects returned are subclasses of List::Objects::WithUtils::Array, allowing manipulation of junctions (of varying degrees of sanity) -- a simple case might be generating a new junction out of an old junction:

```
  my $list = array(3, 4, 5);
  if ( (my $anyof = $list->any_items) > 2 ) {
    my $incr = $anyof->map(sub { $_[0] + 1 })->all_items;
    if ( $incr > 6 ) {
      # ...
    }
    # Drop junction magic again:
    my $plain = array( $incr->all );
  }
```

### any\_items

Returns the overloaded **any** object for the current array; a comparison is true if any items in the array satisfy the condition.

### all\_items

Returns the overloaded **all** object for the current array; a comparison is true only if all items in the array satisfy the condition.

## AUTHOR

Jon Portnoy \<avenj@cobaltirc.org\>
