---
name: "Class::MakeMethods::Emulator::mcoder"
section: "3pm"
platform: "linux"
package: "libclass-makemethods-perl"
version: "1.01-7"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Class::MakeMethods::Emulator::mcoder"
---

# Class::MakeMethods::Emulator::mcoder(3pm)

Emulate the mcoder module

## NAME

Class::MakeMethods::Emulator::mcoder - Emulate the mcoder module

## SYNOPSIS

```
  package MyClass;
  use Class::MakeMethods::Emulator::mcoder
           [qw(get set)] => [qw(color sound height)],
           proxy => [qw(runner run walk stop)],
           calculated => weight;
  sub _calculate_weight { shift->ask_weight }
```

## DESCRIPTION

This module emulates the functionality of the mcoder module, using Class::MakeMethods to generate similar methods.

For example, the following lines are equivalent:

```
  use mcoder 'get' => 'foo';
  use mcoder::get 'foo';
  use Class::MakeMethods::Template::Hash 'scalar --get' => 'foo';
```

You may use this module directly, as shown in the SYNOPSIS above, or you may call `"use Class::MakeMethods::Emulator::mcoder` `'-take_namespace';"` to alias the mcoder namespace to this package, and subsequent calls to the original package will be transparently handled by this emulator. To remove the emulation aliasing, call `"use Class::MakeMethods::Emulator::mcoder '-release_namespace'"`. The same mechanism is also available for the "sugar" subclasses.

**Caution:** This affects **all** subsequent uses of the mcoder module in your program, including those in other modules, and might cause unexpected effects.

## SEE ALSO

See Class::MakeMethods for general information about this distribution.

See Class::MakeMethods::Emulator for more about this family of subclasses.

See mcoder for documentation of the original module.
