---
name: "ExtUtils::XSpp::Node::Package"
section: "3pm"
platform: "linux"
package: "libextutils-xspp-perl"
version: "0.1800-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/ExtUtils::XSpp::Node::Package"
---

# ExtUtils::XSpp::Node::Package(3pm)

Node representing a Perl package

## NAME

ExtUtils::XSpp::Node::Package - Node representing a Perl package

## DESCRIPTION

An ExtUtils::XSpp::Node subclass representing a Perl package and thus acting as a container for methods (cf. sub-class ExtUtils::XSpp::Node::Class) or functions.

A literal `"ExtUtils::XSpp::Node::Package"` would, for example, be created from:

```
  %package{Some::Perl::Namespace}
```

This would be compiled to a new XS line a la

MODULE=$WhateverCurrentModule PACKAGE=Some::Perl::Namespace

## METHODS

### new

Creates a new `"ExtUtils::XSpp::Node::Package"`.

Named parameters: `"cpp_name"` indicating the C++ class name (if any), and `"perl_name"` indicating the name of the Perl package. If `"perl_name"` is not specified but `"cpp_name"` is, `"perl_name"` defaults to `"cpp_name"`.

## ACCESSORS

### cpp\_name

Returns the C++ name for the package (will be used for namespaces).

### perl\_name

Returns the Perl name for the package.

### set\_perl\_name

Setter for the Perl package name.
