---
name: "Declare::Constraints::Simple::Library::Scalar"
section: "3pm"
platform: "linux"
package: "libdeclare-constraints-simple-perl"
version: "0.03-1.1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Declare::Constraints::Simple::Library::Scalar"
---

# Declare::Constraints::Simple::Library::Scalar(3pm)

Scalar Constraints

## NAME

Declare::Constraints::Simple::Library::Scalar - Scalar Constraints

## SYNOPSIS

```
  # match one of a set of regexes
  my $some_regexes = Matches(qr/foo/, qr/bar/);
  # allow only defined values
  my $is_defined = IsDefined;
  # between 5 and 50 chars
  my $five_to_fifty = HasLength(5, 50);
  # match against a set of values
  my $command_constraint = IsOneOf(qw(create update delete));
  # check for trueness
  my $is_true = IsTrue;
  # simple equality
  my $is_foo = IsEq('foo');
```

## DESCRIPTION

This library contains all constraints to validate scalar values.

## CONSTRAINTS

### Matches(@regex)

```
  my $c = Matches(qr/foo/, qr/bar/);
```

If one of the parameters matches the expression, this is true.

### IsDefined()

True if the value is defined.

### HasLength(\[$min, \[$max\]\])

Is true if the value has a length above `$min` (which defaults to 1\> and, if supplied, under the value of `$max`. A simple

```
  my $c = HasLength;
```

checks if the value has a length of at least 1.

### IsOneOf(@values)

True if one of the `@values` equals the passed value. `"undef"` values work with this too, so

```
  my $c = IsOneOf(1, 2, undef);
```

will return true on an undefined value.

### IsTrue()

True if the value evulates to true in boolean context.

### IsEq($comparator)

Valid if the value is `"eq"` the `$comparator`.

## SEE ALSO

Declare::Constraints::Simple, Declare::Constraints::Simple::Library

## AUTHOR

Robert 'phaylon' Sedlacek `"<phaylon@dunkelheit.at>"`

## LICENSE AND COPYRIGHT

This module is free software, you can redistribute it and/or modify it  under the same terms as perl itself.
