SEARCH
NEW RPMS
DIRECTORIES
ABOUT
FAQ
VARIOUS
BLOG

 
 

perl-Unicode-Casing rpm build for : OpenSuSE. For other distributions click perl-Unicode-Casing.

Name : perl-Unicode-Casing
Version : 0.16 Vendor : obs://build_opensuse_org/devel:languages:perl
Release : lp155.1.1 Date : 2023-07-20 16:04:38
Group : Development/Libraries/Perl Source RPM : perl-Unicode-Casing-0.16-lp155.1.1.src.rpm
Size : 0.04 MB
Packager : https://www_suse_com/
Summary : Perl extension to override system case changing functions
Description :
This module allows overriding the system-defined character case changing
operations. Any time something in its lexical scope would ordinarily call
\'lc()\', \'lcfirst()\', \'uc()\', \'ucfirst()\', or \'fc()\', the corresponding
user-specified function will instead be called. This applies to direct
calls (even those prefaced by \'CORE::\'), and indirect calls via the \'\\L\',
\'\\l\', \'\\U\', \'\\u\', and \'\\F\' escapes in double-quoted strings and regular
expressions.

Each function is passed a string whose case is to be changed, and should
return the case-changed version of that string. Within the function\'s
dynamic scope, references to the operation it is overriding use the
non-overridden version. For example:

sub my_uc {
my $string = shift;
print \"Debugging information\
\";
return uc($string);
}
use Unicode::Casing uc => \\&my_uc;
uc($foo);

gives the standard upper-casing behavior, but prints \"Debugging
information\" first. This also applies to the escapes. Using, for example,
\'\\U\' inside the override function for \'uc()\' will call the non-overridden
\'uc()\'. Since this applies across the dynamic scope, if \'my_uc\' calls
function \'a\' which calls \'b\' which calls \'c\' which calls \'uc\', that \'uc\' is
the non-overridden version. Otherwise there would be the possibility of
infinite recursion. And, it fits with the typical use of these functions,
which is to use the standard case change except for a few select
characters, as shown in the example below.

It is an error to not specify at least one override in the \"use\" statement.
Ones not specified use the standard operation. It is also an error to
specify more than one override for the same function.

\'use re \'eval\'\' is not needed to have the inline case-changing sequences
work in regular expressions.

Here\'s an example of a real-life application, for Turkish, that shows
context-sensitive case-changing. (Because of bugs in earlier Perls, version
v5.12 is required for this example to work properly.)

sub turkish_lc($) {
my $string = shift;





$string =~ s/I (?! [^\\p{ccc=0}\\p{ccc=Above}]* \\x{0307} )/\\x{131}/gx;



$string =~ s/I ([^\\p{ccc=0}\\p{ccc=Above}]* ) \\x{0307}/i$1/gx;

$string =~ s/\\x{130}/i/g;

return lc($string);
}

A potential problem with context-dependent case changing is that the
routine may be passed insufficient context, especially with the in-line
escapes like \'\\L\'.

_90turkish.t_, which comes with the distribution includes a full
implementation of all the Turkish casing rules.

Note that there are problems with the standard case changing operation for
characters whose code points are between 128 and 255. To get the correct
Unicode behavior, the strings must be encoded in utf8 (which the override
functions can force) or calls to the operations must be within the scope of
\'use feature \'unicode_strings\'\' (which is available starting in Perl
version 5.12).

Also, note that \'fc()\' and \'\\F\' are available only in Perls starting with
version v5.15.8. Trying to override them on earlier versions will result in
a fatal error.

Note that there can be problems installing this (at least on Windows) if
using an old version of ExtUtils::Depends. To get around this follow these
steps:

* 1

upgrade ExtUtils::Depends

* 2

force install B::Hooks::OP::Check

* 3

force install B::Hooks::OP::PPAddr

See http://perlmonks.org/?node_id=797851.

RPM found in directory: /packages/linux-pbone/ftp5.gwdg.de/pub/opensuse/repositories/devel:/languages:/perl:/CPAN-U/15.5/x86_64

Content of RPM  Provides Requires

Download
ftp.icm.edu.pl  perl-Unicode-Casing-0.16-lp155.1.1.x86_64.rpm
     

Provides :
perl(Unicode::Casing)
perl-Unicode-Casing
perl-Unicode-Casing(x86-64)

Requires :
libc.so.6()(64bit)
libc.so.6(GLIBC_2.2.5)(64bit)
perl(:MODULE_COMPAT_5.26.1)
perl(B::Hooks::OP::Check)
perl(B::Hooks::OP::PPAddr)
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsXz) <= 5.2-1


Content of RPM :
/usr/lib/perl5/vendor_perl/5.26.1/x86_64-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.26.1/x86_64-linux-thread-multi/Unicode
/usr/lib/perl5/vendor_perl/5.26.1/x86_64-linux-thread-multi/Unicode/Casing.pm
/usr/lib/perl5/vendor_perl/5.26.1/x86_64-linux-thread-multi/auto/Unicode
/usr/lib/perl5/vendor_perl/5.26.1/x86_64-linux-thread-multi/auto/Unicode/Casing
/usr/lib/perl5/vendor_perl/5.26.1/x86_64-linux-thread-multi/auto/Unicode/Casing/Casing.so
/usr/share/doc/packages/perl-Unicode-Casing
/usr/share/doc/packages/perl-Unicode-Casing/Changes
/usr/share/doc/packages/perl-Unicode-Casing/README
/usr/share/licenses/perl-Unicode-Casing
/usr/share/licenses/perl-Unicode-Casing/LICENSE
/usr/share/man/man3/Unicode::Casing.3pm.gz

 
ICM