---
name: "Set::Object::Weak"
section: "3pm"
platform: "linux"
package: "libset-object-perl"
version: "1.42-1+b5"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Set::Object::Weak"
---

# Set::Object::Weak(3pm)

Sets without the referant reference increment

## NAME

Set::Object::Weak - Sets without the referant reference increment

## SYNOPSIS

```
 use Set::Object::Weak qw(weak_set);
 my $set = Set::Object::Weak->new( 0, "", {}, [], $object );
 # or
 my $set = weak_set( 0, "", {}, [], $object );
 print $set->size;  # 2 - the scalars aren't objects
```

## DESCRIPTION

Sets, but weak.  See "weaken" in Set::Object.

Note that the `"set"` in `"Set::Object::Weak"` returns weak sets.  This is intentional, so that you can make all the sets in scope weak just by changing `"use Set::Object"` to `"use Set::Object::Weak"`.

## CONSTRUCTORS

- new

  This class method is exactly the same as `"Set::Object->new"`, except that it returns a weak set.

- weak\_set( ... )

  This optionally exported **function** is a shortcut for saying `"Set::Object::Weak->new(...)"`.

- set( ... )

  This method is exported so that if you see:

  ```
   use Set::Object qw(set);
  ```

  You can turn it into using weak sets lexically with:

  ```
   use Set::Object::Weak qw(set);
  ```

  Set::Object 1.19 had a bug in this method that meant that it would not add the passed members into it.

## SEE ALSO

Set::Object

## CREDITS

Perl magic by Sam Vilain, \<samv@cpan.org\>

Idea from nothingmuch.
