# perldoc > User::Identity::Archive::Plain

---
type: CommandReference
command: User::Identity::Archive::Plain
mode: perldoc
section: ""
source: perldoc
---

## Quick Reference

- `User::Identity::Archive::Plain->new('friends')` — create a new plain archive
- `$archive->from(\*FH)` — read archive from a filehandle
- `$archive->from('.friends')` — read archive from a filename
- `$archive->from($string)` — read archive from a string
- `$archive->abbreviation($name, $class)` — add or remove an abbreviation
- `$archive->abbreviations()` — list all known abbreviations
- `$archive->defaultTabStop($int)` — get/set tabstop width

## Name

`User::Identity::Archive::Plain` — simple, plain text archiver

## Synopsis

perl
use User::Identity::Archive::Plain;
my $friends = User::Identity::Archive::Plain->new('friends');
$friends->from(\*FH);
$friends->from('.friends');
## Options

### Constructor options (`new( [$name], %options )`)

- `abbreviations => HASH|ARRAY` — Add abbreviations for collection classes (see DETAILS for predefined names)
- `description => STRING` — Description of the archive
- `from => FILEHANDLE|FILENAME` — Immediately load from source
- `name => STRING` — Name of the archive (required)
- `only => ARRAY|ABBREV` — Only read specified abbreviations, discard others
- `parent => OBJECT` — Parent item
- `tabstop => INTEGER` — Tabstop width (default 8)

### `from()` options

- `tabstop => INTEGER` — Override tabstop for this read
- `verbose => INTEGER` — Verbosity level

## Examples

### Basic usage

perl
use User::Identity::Archive::Plain;
my $archive = User::Identity::Archive::Plain->new('contacts');
$archive->from('.contacts');
### Plain text file format

text
user markov
  location home
    country NL
  email home
    address  <mark@overmeer.net>
    location home
  email work
    address  <solutions@overmeer.bet>

email tux
  address <tux@fish.net>
### Using abbreviations

text
# Predefined abbreviations: user, email, location, system, list
user markov
  email home
    address <mark@overmeer.net>
### Continuation lines

text
email home
  description This is my home address,     \
              But I sometimes use this for \
              work as well
  address <tux@fish.aq>
### Comments

text
user markov
  # my home address
  email home
    # useless comment
    address <tux@fish.aq>
### References

text
user markov
  location home = user(cleo).location(home)
  location work
    organization   MARKOV Solutions
### Configuration parameter

text
tabstop = 4
## See Also

- [User::Identity::Archive](http://localhost/phpMan.php/perldoc/User%3A%3AIdentity%3A%3AArchive/markdown) — base class
- [User::Identity::Item](http://localhost/phpMan.php/perldoc/User%3A%3AIdentity%3A%3AItem/markdown) — base item class
- [User::Identity](http://localhost/phpMan.php/perldoc/User%3A%3AIdentity/markdown) — user identity
- [Mail::Identity](http://localhost/phpMan.php/perldoc/Mail%3A%3AIdentity/markdown) — email identity
- [User::Identity::Location](http://localhost/phpMan.php/perldoc/User%3A%3AIdentity%3A%3ALocation/markdown) — location
- [User::Identity::System](http://localhost/phpMan.php/perldoc/User%3A%3AIdentity%3A%3ASystem/markdown) — system identity
- [User::Identity::Collection::Emails](http://localhost/phpMan.php/perldoc/User%3A%3AIdentity%3A%3ACollection%3A%3AEmails/markdown) — email collection
- Module package: [User-Identity](http://perl.overmeer.net/CPAN/) version 1.01