---
name: "Biblio::SICI::Util"
section: "3pm"
platform: "linux"
package: "libbiblio-sici-perl"
version: "0.04-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Biblio::SICI::Util"
---

# Biblio::SICI::Util(3pm)

Utility functions

## NAME

Biblio::SICI::Util - Utility functions

## VERSION

version 0.04

## SYNOPSIS

```
  use Biblio::Sici;
  use Biblio::SICI::Util qw( titleCode_from_title calculate_check_char );
  my $sici = Biblio::Sici->new();
  ...
  if ( my $code = titleCode_from_title($title) ) {
      $sici->contribution->titleCode($code);
  }
```

## DESCRIPTION

This module provides some utility functions which are useful when working with SICI.

None of them are exported by default.

## FUNCTIONS

- STRING "titleCode\_from\_title"( STRING )

  Tries to derive the `"titleCode"` (cf. the contribution segment)  from a string (i.e.: the title of the contribution) passed to it.

  Since the rules for the construction of the `"titleCode"` are quite complex, this method probably won´t generate the correct code if the title contains elements other than regular english  words (like mathematical or chemical symbols or characters from a non-ascii alphabet).

  If the method is able to generate a code it will be returned. Otherwise the return value is `"undef"`.

  In order to have a better chance of generating a standard-conformant  code the modules Text::Unidecode and Text::Undiacritic are  `"require"`d. If they cannot be found, warnings are emitted but a code might nonetheless be generated. However, if the title is in a language other than english, the probability of generating the correct code sinks even more.

- STRING "calculate\_check\_char"( STRING )

  Calculates and returns the check character. Does **not** check, if the string param is a valid SICI!

  A check character already present in the passed-in SICI will simply be ignored.

## AUTHOR

Heiko Jansen \<hjansen@cpan.org\>

## COPYRIGHT AND LICENSE

This software is copyright (c) 2014 by Heiko Jansen.

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