---
name: "TAP::Parser::Result::Plan"
section: "3pm"
platform: "linux"
package: "libtest-harness-perl"
version: "3.50-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/TAP::Parser::Result::Plan/3pm"
---

# TAP::Parser::Result::Plan(3pm)

Plan result token.

## NAME

TAP::Parser::Result::Plan - Plan result token.

## VERSION

Version 3.50

## DESCRIPTION

This is a subclass of TAP::Parser::Result.  A token of this class will be returned if a plan line is encountered.

```
 1..1
 ok 1 - woo hooo!
```

`1..1` is the plan.  Gotta have a plan.

## OVERRIDDEN METHODS

Mainly listed here to shut up the pitiful screams of the pod coverage tests. They keep me awake at night.

- •

  `"as_string"`

- •

  `"raw"`

### Instance Methods

*"plan"*

```
  if ( $result->is_plan ) {
     print $result->plan;
  }
```

This is merely a synonym for `"as_string"`.

*"tests\_planned"*

```
  my $planned = $result->tests_planned;
```

Returns the number of tests planned.  For example, a plan of `1..17` will cause this method to return '17'.

*"directive"*

```
 my $directive = $plan->directive;
```

If a SKIP directive is included with the plan, this method will return it.

```
 1..0 # SKIP: why bother?
```

*"has\_skip"*

```
  if ( $result->has_skip ) { ... }
```

Returns a boolean value indicating whether or not this test has a SKIP directive.

*"explanation"*

```
 my $explanation = $plan->explanation;
```

If a SKIP directive was included with the plan, this method will return the explanation, if any.

*"todo\_list"*

```
  my $todo = $result->todo_list;
  for ( @$todo ) {
      ...
  }
```
