---
name: "Getopt::Complete::Cache"
section: "3pm"
platform: "linux"
package: "libgetopt-complete-perl"
version: "0.26-4"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Getopt::Complete::Cache"
---

# Getopt::Complete::Cache(3pm)

cache options next-to the command they apply-to

## NAME

Getopt::Complete::Cache - cache options next-to the command they apply-to

## VERSION

This document describes Getopt::Complete::Cache 0.26.

## SYNOPSIS

Presuming MyApp.pm isa Command, and "myapp" is an executable like:

```
    use MyApp;
    MyApp->execute_with_shell_params_and_exit();
```

Add this BEFORE using the MyApp module:

```
    use Getopt::Complete::Cache class => 'MyApp';
    use MyApp;
    MyApp->execute_with_shell_params_and_exit();
```

Now the shell will look for MyApp.pm.opts during completion and will never actually load the MyApp.pm module during tab-completion.

The .opts file is autogenerated upon the first attempt to find it.

## DESCRIPTION

This module is for the obscure case in which: 1. the compile time on an executable is sluggish, and we don't want to have sluggish tab-completion 2. the command-line should be cached relative to a given module name

This is most useful with classes implementing the Command.pm API.  Since these modules may form a large command tree, the caching occurs at individual levels in the tree separately.
