Invalidate the T::B object cache. Used only in tests when e.g. we change the encoding settings and therefore must force a re-read of the data
Signal handler to catch fatal Text::BibTex SEGFAULTS. It has bugs and we want to say at least something if it coredumps
Main data extraction routine. Accepts a data source identifier, preprocesses the file and then looks for the passed keys, creating entries when it finds them and passes out an array of keys it didn't find.
Create a Biber::Entry object from a Text::BibTeX object Be careful in here, all T::B set methods are UTF-8/NFC boundaries so be careful to encode(NFC()) on calls. Windows won't handle UTF-8 in T::B btparse gracefully and will die.
Caches file data into T::B objects indexed by the original datasource key, decoded into UTF8
Convert file to UTF-8 and potentially decode LaTeX macros to UTF-8
Partially parse the .bib datasource and latex_decode the data contents. We do this because latex_decoding the entire buffer is difficult since such decoding is regexp based and since braces are used to protect data in .bib files, it makes it hard to do some parsing.
Given a name string, this function returns a Biber::Entry::Name object with all parts of the name resolved according to the BibTeX conventions. parsename('John Doe', 'author', 'key') returns an object which internally looks a bit like this: { given => {string => 'John', initial => ['J']}, family => {string => 'Doe', initial => ['D']}, prefix => {string => undef, initial => undef}, suffix => {string => undef, initial => undef}, id => 32RS0Wuj0P, strip => {'given' => 0, 'family' => 0, 'prefix' => 0, 'suffix' => 0} }
Given a name string in extended format, this function returns a Biber::Entry::Name object with all parts of the name resolved according to the BibTeX conventions. parsename_x('given=John, family=Doe') returns an object which internally looks a bit like this: { given => {string => 'John', initial => ['J']}, family => {string => 'Doe', initial => ['D']}, prefix => {string => undef, initial => undef}, suffix => {string => undef, initial => undef}, id => 32RS0Wuj0P, sortingnamekeytemplatename => 'template name', }
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.