BibTeX::Parser::Entry(3pm)

NAME
BibTeX::Parser::Entry - Contains a single entry of a BibTeX document.

SYNOPSIS
This class is a wrapper for a single BibTeX entry. It is usually created by BibTeX::Parser.

    use BibTeX::Parser::Entry;

    my $entry = BibTeX::Parser::Entry->new($type, $key, $parse_ok, \%fields);

    if ($entry->parse_ok) {
            my $type    = $entry->type;
            my $key     = $enty->key;
            print $entry->field("title");
            my @authors = $entry->author;
            my @editors = $entry->editor;

            ...

            print $entry->to_string;
    }

FUNCTIONS

  new
Create new entry.

  parse_ok
If the entry was correctly parsed, this method returns a true value, false otherwise.

  error
Return the error message, if the entry could not be parsed or undef otherwise.

  type
Get or set the type of the entry, eg. 'ARTICLE' or 'BOOK'. Return value is always uppercase.

  key
Get or set the reference key of the entry.

  field($name [, $value])
Get or set the contents of a field. The first parameter is the name of the field, the second (optional) value is the new value.

  cleaned_field($name)
Retrieve the contents of a field in a format that is cleaned of TeX markup.

  cleaned_author
Get an array of BibTeX::Parser::Author objects for the authors of this entry. Each name has been cleaned of accents and braces.

  cleaned_editor
Get an array of BibTeX::Parser::Author objects for the editors of this entry. Each name has been cleaned of accents and braces.

  author([@authors])
Get or set the authors. Returns an array of BibTeX::Author objects. The parameters can either be BibTeX::Author objects or strings.

Note: You can also change the authors with $entry->field('author', $authors_string)

  editor([@editors])
Get or set the editors. Returns an array of BibTeX::Author objects. The parameters can either be BibTeX::Author objects or strings.

Note: You can also change the authors with $entry->field('editor', $editors_string)

  fieldlist ()
Returns a list of all the fields used in this entry.

  has($fieldname)
Returns a true value if this entry has a value for $fieldname.

  pre ()
Return the text in BibTeX file before the entry

  raw_bibtex ()
Return raw BibTeX entry (if available).

  to_string ([options])
Returns a text of the BibTeX entry in BibTeX format. Options are a hash.

The return string is the entry reformated with lines indented by 4 spaces and the @entrytype uppercased. Example:

    @BOOK{Knuth:TAOCP1,
        author = {Knuth, Donald E.},
        publisher = {Addison-Wesley},
        title = {The Art of Computer Programming},
        year = {1968},
        url = {https://www-cs-faculty.stanford.edu/~knuth/taocp.html},
    }

"canonize_names"
    If true (the default), authors' and editors' names are translated into canonical bibtex form. The command "$entry->to_string(canonize_names=>0)" overrides this behavior.

"field_capitalization"
    Capitalization of the field names. Can take values 'Uppercase', 'Lowercase' (the default) or 'Titlecase'

"print_pre"
    False by default. If true, the text in the Bib file before the entry is printed. Note that at present we assume the text before the entry NEVER has the @ symbol inside

"type_capitalization"
    Capitalization of the type names. Can take values 'Uppercase' (the default), 'Lowercase' or 'Titlecase'

VERSION
version 1.95

AUTHOR
Gerhard Gossen <gerhard.gossen@googlemail.com> and Boris Veytsman <boris@varphi.com> and Karl Berry <karl@freefriends.org>

COPYRIGHT AND LICENSE
Copyright 2013-2026 Gerhard Gossen, Boris Veytsman, Karl Berry

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.