.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "Biblio::SICI::Util 3pm" .TH Biblio::SICI::Util 3pm "2023-02-06" "perl v5.36.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" Biblio::SICI::Util \- Utility functions .SH "VERSION" .IX Header "VERSION" version 0.04 .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 2 \& 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); \& } .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" This module provides some utility functions which are useful when working with \s-1SICI.\s0 .PP None of them are exported by default. .SH "FUNCTIONS" .IX Header "FUNCTIONS" .ie n .IP "\s-1STRING\s0 ""titleCode_from_title""( \s-1STRING\s0 )" 4 .el .IP "\s-1STRING\s0 \f(CWtitleCode_from_title\fR( \s-1STRING\s0 )" 4 .IX Item "STRING titleCode_from_title( STRING )" Tries to derive the \f(CW\*(C`titleCode\*(C'\fR (cf. the contribution segment) from a string (i.e.: the title of the contribution) passed to it. .Sp Since the rules for the construction of the \f(CW\*(C`titleCode\*(C'\fR 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). .Sp If the method is able to generate a code it will be returned. Otherwise the return value is \f(CW\*(C`undef\*(C'\fR. .Sp In order to have a better chance of generating a standard-conformant code the modules Text::Unidecode and Text::Undiacritic are \&\f(CW\*(C`require\*(C'\fRd. 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. .ie n .IP "\s-1STRING\s0 ""calculate_check_char""( \s-1STRING\s0 )" 4 .el .IP "\s-1STRING\s0 \f(CWcalculate_check_char\fR( \s-1STRING\s0 )" 4 .IX Item "STRING calculate_check_char( STRING )" Calculates and returns the check character. Does \fBnot\fR check, if the string param is a valid \s-1SICI\s0! .Sp A check character already present in the passed-in \s-1SICI\s0 will simply be ignored. .SH "AUTHOR" .IX Header "AUTHOR" Heiko Jansen .SH "COPYRIGHT AND LICENSE" .IX Header "COPYRIGHT AND LICENSE" This software is copyright (c) 2014 by Heiko Jansen. .PP This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.