---
name: "URI::Namespace"
section: "3pm"
platform: "linux"
package: "liburi-namespacemap-perl"
version: "1.12-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/URI::Namespace"
---

# URI::Namespace(3pm)

A namespace URI/IRI class with autoload methods

## NAME

URI::Namespace - A namespace URI/IRI class with autoload methods

## SYNOPSIS

```
  use URI::Namespace;
  my $foaf = URI::Namespace->new( 'http://xmlns.com/foaf/0.1/' );
  print $foaf->as_string;
  print $foaf->name;
```

## DESCRIPTION

This module provides an object with a URI/IRI attribute, typically used prefix-namespace pairs, typically used in XML, RDF serializations, etc. The local part can be used as a method, these are autoloaded.

## METHODS

- "new ( $string \| URI \| IRI )"

  This is the constructor. You may pass a string with a URI or a URI object.

- "uri ( \[ $local\_part \] )"

  Returns a URI object with the namespace IRI. Optionally, the method can take a local part as argument, in which case, it will return the namespace URI with the local part appended.

- "iri ( \[ $local\_part \] )"

  Returns a IRI object with the namespace IRI. Optionally, the method can take a local part as argument, in which case, it will return the namespace IRI with the local part appended.

- "local\_part ( $uri )"

  Returns the local part string if the given argument URI (which may be a string, URI or IRI object) matches the namespace URI, or `"undef"` if not.

The following methods from URI can be used on an URI::Namespace object: `"as_string"`, `"as_iri"`, `"canonical"`, `"eq"`, `"abs"`, `"rel"`.

One important usage for this module is to enable you to create URIs for full URIs, e.g.:

```
  print $foaf->Person->as_string;
```

will return

```
  http://xmlns.com/foaf/0.1/Person
```

## FURTHER DETAILS

See URI::NamespaceMap for further details about authors, license, etc.
