User::I...:Archive(3)
π¦ User::I...:Archive(3) β the manual page, but make it cute
okay so bestie, welcome to the group chat for User::Identity::Archive(3) β a User Contributed Perl Documentation page. Pull up a chair, grab a boba, we're doing lore π
β¨ NAME β¨
User::Identity::Archive β it's the base class for archiving user information. That's it, that's the whole job description, she's a foundation, she's the blueprint, she's mother π
πΈ INHERITANCE πΈ
The family tree, bestie, get out your little ancestry dot com account:
User::Identity::Archive
is a User::Identity::Item
User::Identity::Archive is extended by
User::Identity::Archive::Plain
So she is a User::Identity::Item, and she gets extended by User::Identity::Archive::Plain. Passing the genes down, slay π§¬β¨
π SYNOPSIS π
Here's the vibe check in code form, verbatim, don't touch a single character:
use User::Identity::Archive::Plain;
my $friends = User::Identity::Archive::Plain->new('friends');
$friends->from(\*FH);
$friends->from('.friends');
See? You make a friends archive, then you feed it a filehandle, then you feed it a file. Incredible. No notes. π
π DESCRIPTION π
So like β an archive stores collections. How and where that happens? Depends on the type of archive, bestie. Every archiver does its own thing. Also some archivers may limit the kinds of selections which can be stored β so don't come for them when they can't hold everything, they're doing their best π«Ά
And it Extends "DESCRIPTION" in User::Identity::Item. So go read that one too, iykyk.
π₯ OVERLOADED π₯
ngl this section is empty on the page β no overloaded operators listed, no cap. π
β METHODS β
She Extends "METHODS" in User::Identity::Item β so a lot of what's below is inherited, and we're gonna say that every single time because the original does. Periodt.
π§ Constructors
Extends "Constructors" in User::Identity::Item.
$class->new( [$name], %options )
The sacred option table, presented verbatim because I respect the lore:
-Option --Defined in --Default
description User::Identity::Item undef
from undef
name User::Identity::Item <required>
parent User::Identity::Item undef
And now the receipts, one by one:
description=> STRING β defaultundef, defined inUser::Identity::Itemfrom=> $filehandle|$file β defaultundefπname=> STRING β default<required>, defined inUser::Identity::Item. Yeah bestie, she's required, you gotta name her πparent=> OBJECT β defaultundef, defined inUser::Identity::Item
π Attributes
Extends "Attributes" in User::Identity::Item.
$obj->description()β Inherited, see "Attributes" inUser::Identity::Item$obj->name( [$newname] )β Inherited, see "Attributes" inUser::Identity::Item
π Collections
Extends "Collections" in User::Identity::Item.
$obj->add($collection, $role)β Inherited, see "Collections" inUser::Identity::Item$obj->addCollection( $object | <[$type], %options> )β Inherited, see "Collections" inUser::Identity::Item$obj->collection($name)β Inherited, see "Collections" inUser::Identity::Item$obj->parent( [$parent] )β Inherited, see "Collections" inUser::Identity::Item$obj->removeCollection($object|$name)β Inherited, see "Collections" inUser::Identity::Item$any->type()β Inherited, see "Collections" inUser::Identity::Item$obj->user()β Inherited, see "Collections" inUser::Identity::Item
That's seven whole inherited baddies, we love a delegation moment π
π¦ Searching
Extends "Searching" in User::Identity::Item.
$obj->find($collection, $role)β Inherited, see "Searching" inUser::Identity::Item
π Access to the archive
This is the main character section, obviously.
$obj->from($source, %options)
Read definitions from the specified $source, which usually can be a filehandle or filename. The syntax used in the information $source is archiver dependent β so like, don't assume, every archiver has its own handwriting βοΈ
real talk bestie: Not all archivers implementfrom()β so you may want to check withUNIVERSAL::can()beforehand. Yes, that's exactly what the page says. Guard yourself, queen π‘οΈ
Β» example:
use User::Identity::Archive::Some;
my $a = User::Identity::Archive::Some->new('xyz');
$a->from(\*STDIN) if $a->can('from');
Look at that if $a->can('from') β that's the self-care. That's the boundary. That's the vibe check before you commit π₯
π DIAGNOSTICS π
The moments where things go sideways. Dramatic, but accurate:
Error: cannot load collection module for $type ($class): $@β Either the specified$typedoes not exist, or that module named$classreturns 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 byaddCollection()Error: nvalid collection $name.β The collection with$namedoes not exist and can not be created. Cast byadd()
and yes, that error really does say nvalid on the page β I am NOT fixing it, that's canon, character for character, no cap π
Error: this $object is not a collection.β Cast byaddCollection()
π SEE ALSO π
This module is part of User-Identity version 4.00, built on December 12, 2025. Website: http://perl.overmeer.net/CPAN/ β go say hi, she's famous β¨
πΈ 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.
and that's the whole page, bestie β every option, every inherited method, every diagnostic, untouched. facts preserved, vibes upgraded. π
cute lil sign-off: this page came to you from perl v5.42.0 and is dated 2026-01-17. mwah, go forth and archive π ππ¦
π¦ where this page comes from
- fedora 44: perl-User-Identity 4.00-2.fc44 Β· GPL-1.0-or-later OR Artistic-1.0-Perl
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms