Debbugs::User(3pm)
π Debbugs::User β User settings π
okay bestie, so this is Debbugs::User, a Perl module from the User Contributed Perl Documentation corner of the universe. It's, like, all about user settings β your usertags, your categories, your whole vibe. It's giving "your personal bug-tracking aesthetic, filed in a text file". π
β¨ SYNOPSIS β¨
the whole point, right up top, no gatekeeping:
use Debbugs::User qw(is_valid_user read_usertags write_usertags);
Debbugs::User::is_valid_user($userid);
$u = Debbugs::User::open($userid); $u = Debbugs::User::open(user =>
$userid, locked => 0);
$u = Debbugs::User::open(user => $userid, locked => 1); $u->write();
$u->{"tags"} $u->{"categories"} $u->{"is_locked"} $u->{"name"}
read_usertags(\%ut, $userid); write_usertags(\%ut, $userid);
those last four things? tags, categories, is_locked, and name β those are the keys you're gonna be poking at on your object. iconic access, no cap. π
πΈ USERTAG FILE FORMAT πΈ
so the usertags live in a file, and that file has (roughly) RFC822 format β stanzas separated by newlines. roughly!! don't come for it. here's the whole example, exactly as it is:
Tag: search
Bugs: 73671, 392392
Value: priority
Bug-73671: 5
Bug-73487: 2
Value: bugzilla
Bug-72341: http://bugzilla/2039471
Bug-1022: http://bugzilla/230941
Category: normal
Cat1: status
Cat2: debbugs.tasks
Category: debbugs.tasks
Hidden: yes
Cat1: debbugs.tasks
Cat1Options:
tag=quick
tag=medium
tag=arch
tag=not-for-me
see the blank lines? those are the stanza breaks. that's the whole structural moment. π¦
π EXPORT TAGS π
:allβ literally every function that can be exported. take the whole tray, bestie, no need to pick. π«Ά
π FUNCTIONS π
π usertag_file_from_email
my $filename = usertag_file_from_email($email)
turns an email into the filename where the usertag can be located. email in, file path out. that's it. that's the transformation. β¨
π new
my $user = Debbugs::User->new('foo@bar.com',$lock);
reads the user file associated with 'foo@bar.com' and hands you back a Debbugs::User object. main character constructor energy fr fr. π
π OBSOLETE FUNCTIONS π
bestie. these are obsolete. they're still documented because the manpage says so, but this is giving "we keep it around for the lore". π
read_usertags
read_usertags($usertags,$email)
write_usertags
write_usertags($usertags,$email);
this one gets a lock on the usertags, applies the usertags you passed in, and writes them out. lock β apply β write. periodt.
π PRIVATE FUNCTIONS π
iykyk, this is the backstage area. stay out unless you're supposed to be here. π
_read_stanza
my @stanza = _read_stanza($fh);
reads a single stanza from a filehandle and returns it. one stanza, one shot, exactly that. π§
_wrap_to_length
_wrap_to_length
wraps a line to a specific length by splitting at commas. comma boundaries only, no rogue line breaking. π
and that's the whole page!! Debbugs::User, as documented in the User Contributed Perl Documentation on perl v5.40.1, dated 2026-04-27. go forth and tag your bugs, bestie, you're gonna slay πβ¨π
π¦ where this page comes from
- ubuntu stonking: libdebbugs-perl 2.6.5
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms