---
name: "Data::Perl::Role::Counter"
section: "3pm"
platform: "linux"
package: "perl-data-perl"
version: "0.002011-8"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/Data::Perl::Role::Counter"
---

# Data::Perl::Role::Counter(3pm)

Wrapping class for a simple numeric counter.

## NAME

Data::Perl::Role::Counter - Wrapping class for a simple numeric counter.

## VERSION

version 0.002011

## SYNOPSIS

```
  use Data::Perl qw/counter/;
  my $c = counter(4);
  $c->inc;   # $c == 5
  $c->reset; # $c == 0
```

## DESCRIPTION

This class provides a wrapper and methods for a simple numeric counter.

## PROVIDED METHODS

- **new($value)**

  Constructs a new Data::Perl::Collection::Counter object initialized with the passed in value, and returns it.

- **set($value)**

  Sets the counter to the specified value and returns the new value.

  This method requires a single argument.

- **inc**

  - **inc($arg)**

  Increases the attribute value by the amount of the argument, or by 1 if no argument is given. This method returns the new value.

  This method accepts a single argument.

- **dec**

  - **dec($arg)**

  Decreases the attribute value by the amount of the argument, or by 1 if no argument is given. This method returns the new value.

  This method accepts a single argument.

- **reset**

  Resets the value stored in this slot to its default value, and returns the new value.

## SEE ALSO

- •

  Data::Perl

- •

  MooX::HandlesVia

## AUTHOR

Matthew Phillips \<mattp@cpan.org\>

## COPYRIGHT AND LICENSE

This software is copyright (c) 2020 by Matthew Phillips \<mattp@cpan.org\>.

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