---
name: "User::Identity::System"
section: "3pm"
platform: "linux"
package: "perl-user-identity"
version: "4.00-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/User::Identity::System"
---

# User::Identity::System(3pm)

physical system of a person

## NAME

User::Identity::System - physical system of a person

## INHERITANCE

```
 User::Identity::System
   is a User::Identity::Item
```

## SYNOPSIS

```
  use User::Identity;
  use User::Identity::System;
  my $me   = User::Identity->new(...);
  my $server = User::Identity::System->new(...);
  $me->add(system => $server);
  # Simpler
  use User::Identity;
  my $me   = User::Identity->new(...);
  my $addr = $me->add(system => ...);
```

## DESCRIPTION

The `"User::Identity::System"` object contains the description of the user's presence on a system.  The systems are collected by an User::Identity::Collection::Systems object.

Nearly all methods can return `"undef"`.

Extends "DESCRIPTION" in User::Identity::Item.

## METHODS

Extends "METHODS" in User::Identity::Item.

### Constructors

Extends "Constructors" in User::Identity::Item.

- $class-\>**new**( \[$name\], %options )

  Create a new system.  You can specify a name as first argument, or in the OPTION list.  Without a specific name, the organization is used as name.

  ```
   -Option     --Defined in          --Default
    description  User::Identity::Item  undef
    hostname                           'localhost'
    location                           undef
    name         User::Identity::Item  <required>
    os                                 undef
    parent       User::Identity::Item  undef
    password                           undef
    username                           undef
  ```

  - description =\> STRING

    - hostname =\> $name

    The `$name` of the described system.  It is preferred to use full system names, not abbreviations.  For instance, you can better use `"www.tux.aq"` than `"www"` to avoid confusion.

  - location =\> $nick\|OBJECT

    The `$nick` of a location which is defined for the same user.  You can also specify a User::Identity::Location OBJECT.

  - name =\> STRING

    - os =\> STRING

    The name of the operating system which is run on the server.  It is advised to use the names as used by Perl's `$^O` variable.  See the perlvar man-page for this variable, and perlport for the possible values.

  - parent =\> OBJECT

    - password =\> STRING

    The password to be used to login.  This password must be un-encoded: directly usable.  Be warned that storing un-encoded passwords is a high security list.

  - username =\> STRING

    The username to be used to login to this host.

### Attributes

Extends "Attributes" in User::Identity::Item.

- $obj-\>**description**()

  Inherited, see "Attributes" in User::Identity::Item

- $obj-\>**hostname**()

  - $obj-\>**location**()

  Returns the object which describes to which location this system relates. The location may be used to find the name of the organization involved, or to create a signature.  If no location is specified, `"undef"` is returned.

- $obj-\>**name**( \[$newname\] )

  Inherited, see "Attributes" in User::Identity::Item

- $obj-\>**os**()

  - $obj-\>**password**()

  - $obj-\>**username**()

  ### Collections

Extends "Collections" in User::Identity::Item.

- $obj-\>**add**($collection, $role)

  Inherited, see "Collections" in User::Identity::Item

- $obj-\>**addCollection**( $object \| \<\[$type\], %options\> )

  Inherited, see "Collections" in User::Identity::Item

- $obj-\>**collection**($name)

  Inherited, see "Collections" in User::Identity::Item

- $obj-\>**parent**( \[$parent\] )

  Inherited, see "Collections" in User::Identity::Item

- $obj-\>**removeCollection**($object\|$name)

  Inherited, see "Collections" in User::Identity::Item

- $any-\>**type**()

  Inherited, see "Collections" in User::Identity::Item

- $obj-\>**user**()

  Inherited, see "Collections" in User::Identity::Item

### Searching

Extends "Searching" in User::Identity::Item.

- $obj-\>**find**($collection, $role)

  Inherited, see "Searching" in User::Identity::Item

## DIAGNOSTICS

- Error: cannot load collection module for $type ($class): $@

  Either the specified `$type` does not exist, or that module named `$class` returns compilation errors.  If the type as specified in the warning is not the name of a package, you specified a nickname which was not defined. Maybe you forgot the 'require' the package which defines the nickname. Cast by `addCollection()`

- Error: nvalid collection $name.

  The collection with `$name` does not exist and can not be created. Cast by `add()`

- Error: this $object is not a collection.

  Cast by `addCollection()`

## SEE ALSO

This module is part of User-Identity version 4.00, built on December 12, 2025. Website: *http://perl.overmeer.net/CPAN/*

## LICENSE

For contributors see file ChangeLog.

This software is copyright (c) 2003-2025 by Mark Overmeer.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
