Biber::Config(3pm)
✨ NAME ✨
Biber::Config — configuration items which need to be saved across the lifetime of a Biber object 🫶
Okay so this is a page from the User Contributed Perl Documentation (yes, that's the manual name, love that for us), and here's the whole vibe: this class is literally just a static object plus a bunch of static methods so you can reach in and grab configuration and state data. And bestie, there is so much data living in here that it got sorted into separate accessor groups:
- Biber options
- Biblatex options
- State information used by Biber as it processes entries
displaymodedate
That's four whole categories of info, all vibing in one place. Slay.
_init
Reset internal hashes to defaults. Factory reset, clean slate, no baggage. ✨
_initopts
Initialise the default options — and you can optionally pass it a config file as an argument. 🎀
config_file
Returns the full path of the Biber configuration file. It goes hunting and gives you the first file it finds, in this exact order:
biber.confor.biber.confin the current directory$HOME/.biber.conf$ENV{XDG_CONFIG_HOME}/biber/biber.conf$HOME/.config/biber/biber.conf$HOME/Library/biber/biber.conf(Mac OSX only 🍎)$ENV{APPDATA}/biber.conf(Windows only 🪟)- whatever
kpsewhich biber.confoutputs (if that's even available on your system)
And if literally nothing turns up? It returns undef. Silence. Crickets. 💀
add_uniq_ignore
Track uniqueness ignore settings found in inheritance data. 🦋
get_uniq_ignore
Retrieve uniqueness ignore settings found in inheritance data.
postprocess_biber_opts
This is the place to postprocess biber options once they've been gathered up from all the possible places that set them. Everything meets here, it's giving group project. 🌈
set_dm
Sets the data model information object.
get_dm
Gets the data model information object.
get_dm_helpers
Sets the datamodel helper lists.
set_ctrlfile_path
Stores the path to the control file.
get_ctrlfile_path
Retrieved the path to the control file.
setoption
Store a Biber config option.
getoption
Get a Biber option.
setcmdlineoption
Store a Biber command-line option.
setconfigfileoption
Store a Biber config-file option.
iscmdlineoption
Check if an option is explicitly set by user on the command line.
isconfigfileoption
Check if an option is explicitly set by user in their config file.
isexplicitoption
Check if an option is explicitly set by user on the command line or in the config file. Either way, they meant it. 💅
addtoblxoption
Add to an array global biblatex option.
setblxoption
Set a biblatex option on the appropriate scope.
getblxoption
Get a biblatex option from the global, per-type or per entry scope.
The call looks like this:
getblxoption('secnum', 'option', ['entrytype'], ['citekey'])
Returns the value of option. In order of decreasing preference, it returns:
- Biblatex option defined for entry
- Biblatex option defined for entry type
- Biblatex option defined globally
The section number needs to be present only for per-entry options, because those might differ between sections. 👑
getblxentryoptions
Get all per-entry options for an entry.
set_graph
Record node and arc connection types for .dot output.
get_graph
Return an inheritance graph data structure for an inheritance type.
set_inheritance
Record that $target inherited information from $source. Can be used for crossrefs and xdata. This just records that an entry inherited from another entry, for loop detection.
get_inheritance
Check if $target directly inherited information from $source. Can be used for crossrefs and xdata.
is_inheritance_path
Checks for an inheritance path from entry $e1 to $e2. Can be used for crossrefs and xdata.
Like, say your graph looks like this:
[
{s => 'A',
t => 'B'},
{s => 'A',
t => 'E'},
{s => 'B',
t => 'C'},
{s => 'C',
t => 'D'} ];
That's the shape of it. 🧚
keyorder
set_keyorder
Set key order information.
set_internal_keyorder
Set key order information for keys with the same order.
get_keyorder
Get key order information.
get_internal_keyorder
Get key order information for keys with the same order.
get_keyorder_max
Get maximum key order number for a section.
reset_keyorder
Reset keyorder — for use in tests where we switch to allkeys.
crossrefkeys
get_crossrefkeys
Return ref to array of keys which are crossref targets.
xrefkeys
get_xrefkeys
Return ref to array of keys which are xref targets.
get_crossrefkey
Return an integer representing the number of times a crossref target key has been ref'ed.
get_xrefkey
Return an integer representing the number of times a xref target key has been ref'ed.
del_crossrefkey
Remove a crossref target key from the crossrefkeys state.
del_xrefkey
Remove a xref target key from the xrefkeys state.
incr_crossrefkey
Increment the crossreferences count for a target crossref key.
incr_xrefkey
Increment the xreferences count for a target xref key.
dump
Dump config information (for debugging). Not me snooping through the whole config... okay fine, yes me. 🙈
👑 AUTHORS 👑
Philip Kime <philip at kime.org.uk>
🐛 BUGS 🐛
Please report any bugs or feature requests on our Github tracker at <https://github.com/plk/biber/issues>.
💜 COPYRIGHT & LICENSE 💜
Copyright 2012-2026 Philip Kime, all rights reserved.
This module is free software. You can redistribute it and/or modify it under the terms of the Artistic License 2.0.
This program is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose.
No cap, that warranty disclaimer is doing a lot of heavy lifting. Read it, bestie. 😭
and that's the whole page, periodt 💖 This one's Biber::Config(3pm), from perl v5.42.3, dated 2026-08-14 — go forth and configure, my love 🌸💅
📦 where this page comes from
- fedora 43: biber 2.22-1.fc43 · Artistic-2.0
- fedora 44: biber 2.22-2.fc44 · Artistic-2.0
- 💖 girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms