Biber::Input::file::bibtex(3)

  init_cache
    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

  TBSIG
     Signal handler to catch fatal Text::BibTex SEGFAULTS. It has bugs
     and we want to say at least something if it coredumps

  extract_entries
   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_entry
   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.

  cache_data
   Caches file data into T::B objects indexed by the original
   datasource key, decoded into UTF8

  preprocess_file
   Convert file to UTF-8 and potentially decode LaTeX macros to UTF-8

  parsename
    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')
    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},
      basenamestring => 'Doe',
      namestring     => 'Doe, John',
      nameinitstring => 'Doe_J',
      strip          => {'given'  => 0,
                         'family' => 0,
                         'prefix' => 0,
                         'suffix' => 0}
      }

  parsename_x
    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},
      basenamestring => 'Doe',
      namestring     => 'Doe, John',
      nameinitstring => 'Doe_J',
      sortnamekeyscheme => 'scheme' }
      }

NAME
Biber::Input::file::bibtex - look in a BibTeX file for an entry and create it if found

DESCRIPTION
Provides the extract_entries() method to get entries from a BibTeX data source and instantiate Biber::Entry objects for what it finds

AUTHOR
Francois Charette, "<firmicus at ankabut.net>" 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 2009-2016 Francois Charette and 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.