---
name: "Devel::Cover::Truth_Table"
section: "3pm"
platform: "linux"
package: "perl-devel-cover"
version: "1.52-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/Devel::Cover::Truth_Table"
---

# Devel::Cover::Truth\_Table(3pm)

Truth tables for coverage objects.

## NAME

Devel::Cover::Truth\_Table - Truth tables for coverage objects.

## VERSION

version 1.52

## SYNOPSIS

```
  use Devel::Cover::Truth_Table;
  # $a || $b
  my $or_tt  = Devel::Cover::Truth_Table->new_primitive('or_3', 0, 1, 1);
  # $c && $d
  my $and_tt = Devel::Cover::Truth_Table->new_primitive('and_3', 1, 0, 1);
  # merge contents of $and_tt into right column of $or_tt, to create
  # $a || ($c && $d)
  $or_tt->right_merge($and_tt);
  # get a (sorted) textual representation
  my @text = $or_tt->sort->text;
  print "$_\n" foreach @text;
  __END__
  A B C |exp|hit
  --------------
  0 0 X | 0 |---
  0 1 0 | 0 |---
  0 1 1 | 1 |+++
  1 X X | 1 |+++
  --------------
```

## DESCRIPTION

This module provides methods for creating and merging conditional primitives (`"$a && $b"`, `"$c || $d"`, etc.) into more complex composite expressions.

## METHODS

### new\_primitive($op, @coverage)

Create a new truth table based on one of the built-in primitives, which are the subclasses of Devel::Cover::DB::Condition. `$op` is one of the following:

- and\_3

  `"and"` or `"&&"` with three conditional paths.

- or\_3

  `"or"` or `"||"` with three conditional paths.

- or\_2

  `"or"` or `"||"` with two conditional paths. (i.e., when the right hand side of the expression is a constant)

- xor\_4

  `"xor"` with four conditional paths.

`@coverage` is a list booleans identifying which of the possible paths have been covered.

### sort()

Sorts a truth table (in place) and returns the sorted object.

### text()

Format a truth table to an array of strings for printing.

### html()

Format a truth table in HTML.

### error()

### percentage()

Determines the proportion of possible conditions that have coverage.

### right\_merge($sub\_table)

Merge entries from `$sub_table` into right column of table.

### left\_merge($sub\_table)

Merge entries from `$sub_table` into left column of table.

## SEE ALSO

Devel::Cover

## LICENSE

Copyright 2002 Michael Carman \<mjcarman@mchsi.com\>

This software is free. It is licensed under the same terms as Perl itself. The latest version should be available from: https://pjcj.net
