The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Elatin1 - Run-time routines for Latin1.pm

SYNOPSIS

use Elatin1;

  Elatin1::split(...);
  Elatin1::tr(...);
  Elatin1::chop(...);
  Elatin1::index(...);
  Elatin1::rindex(...);
  Elatin1::lc(...);
  Elatin1::lc_;
  Elatin1::lcfirst(...);
  Elatin1::lcfirst_;
  Elatin1::uc(...);
  Elatin1::uc_;
  Elatin1::ucfirst(...);
  Elatin1::ucfirst_;
  Elatin1::capture(...);
  Elatin1::chr(...);
  Elatin1::chr_;
  Elatin1::glob(...);
  Elatin1::glob_;

# "no Elatin1;" not supported

ABSTRACT

This module is a run-time routines of the Latin1 module. Because the Latin1 module automatically uses this module, you need not use directly.

BUGS AND LIMITATIONS

Please patches and report problems to author are welcome.

HISTORY

This Elatin1 module first appeared in ActivePerl Build 522 Built under MSWin32 Compiled at Nov 2 1999 09:52:28

AUTHOR

INABA Hitoshi <ina@cpan.org>

This project was originated by INABA Hitoshi. For any questions, use <ina@cpan.org> so we can share this file.

LICENSE AND COPYRIGHT

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic.

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.

EXAMPLES

Split string
@split = Elatin1::split(/pattern/,$string,$limit);
@split = Elatin1::split(/pattern/,$string);
@split = Elatin1::split(/pattern/);
@split = Elatin1::split('',$string,$limit);
@split = Elatin1::split('',$string);
@split = Elatin1::split('');
@split = Elatin1::split();
@split = Elatin1::split;

Scans a Latin-1 $string for delimiters that match pattern and splits the Latin-1
$string into a list of substrings, returning the resulting list value in list
context, or the count of substrings in scalar context. The delimiters are
determined by repeated pattern matching, using the regular expression given in
pattern, so the delimiters may be of any size and need not be the same Latin-1
$string on every match. If the pattern doesn't match at all, Elatin1::split returns
the original Latin-1 $string as a single substring. If it matches once, you get
two substrings, and so on.
If $limit is specified and is not negative, the function splits into no more than
that many fields. If $limit is negative, it is treated as if an arbitrarily large
$limit has been specified. If $limit is omitted, trailing null fields are stripped
from the result (which potential users of pop would do well to remember).
If Latin-1 $string is omitted, the function splits the $_ Latin-1 string.
If $patten is also omitted, the function splits on whitespace, /\s+/, after
skipping any leading whitespace.
If the pattern contains parentheses, then the substring matched by each pair of
parentheses is included in the resulting list, interspersed with the fields that
are ordinarily returned.
Transliteration
$tr = Elatin1::tr($variable,$bind_operator,$searchlist,$replacementlist,$modifier);
$tr = Elatin1::tr($variable,$bind_operator,$searchlist,$replacementlist);

This function scans a Latin-1 string character by character and replaces all
occurrences of the characters found in $searchlist with the corresponding character
in $replacementlist. It returns the number of characters replaced or deleted.
If no Latin-1 string is specified via =~ operator, the $_ variable is translated.
$modifier are:

Modifier   Meaning
------------------------------------------------------
c          Complement $searchlist
d          Delete found but unreplaced characters
s          Squash duplicate replaced characters
------------------------------------------------------
Chop string
$chop = Elatin1::chop(@list);
$chop = Elatin1::chop();
$chop = Elatin1::chop;

Chops off the last character of a Latin-1 string contained in the variable (or
Latin-1 strings in each element of a @list) and returns the character chopped.
The Elatin1::chop operator is used primarily to remove the newline from the end of
an input record but is more efficient than s/\n$//. If no argument is given, the
function chops the $_ variable.
Index string
$pos = Elatin1::index($string,$substr,$position);
$pos = Elatin1::index($string,$substr);

Returns the position of the first occurrence of $substr in Latin-1 $string.
The start, if specified, specifies the $position to start looking in the Latin-1
$string. Positions are integer numbers based at 0. If the substring is not found,
the Elatin1::index function returns -1.
Reverse index string
$pos = Elatin1::rindex($string,$substr,$position);
$pos = Elatin1::rindex($string,$substr);

Works just like Elatin1::index except that it returns the position of the last
occurence of $substr in Latin-1 $string (a reverse index). The function returns
-1 if not found. $position, if specified, is the rightmost position that may be
returned, i.e., how far in the Latin-1 string the function can search.
Lower case string
$lc = Elatin1::lc($string);
$lc = Elatin1::lc_;

Returns a lowercase version of Latin-1 string (or $_, if omitted). This is the
internal function implementing the \L escape in double-quoted strings.
Lower case first character of string
$lcfirst = Elatin1::lcfirst($string);
$lcfirst = Elatin1::lcfirst_;

Returns a version of Latin-1 string (or $_, if omitted) with the first character
lowercased. This is the internal function implementing the \l escape in double-
quoted strings.
Upper case string
$uc = Elatin1::uc($string);
$uc = Elatin1::uc_;

Returns an uppercased version of Latin-1 string (or $_, if string is omitted).
This is the internal function implementing the \U escape in double-quoted
strings.
Upper case first character of string
$ucfirst = Elatin1::ucfirst($string);
$ucfirst = Elatin1::ucfirst_;

Returns a version of Latin-1 string (or $_, if omitted) with the first character
uppercased. This is the internal function implementing the \u escape in double-
quoted strings.
Make capture number
$capturenumber = Elatin1::capture($string);

This function is internal use to m/ /i, s/ / /i, split and qr/ /i.
Make character
$chr = Elatin1::chr($code);
$chr = Elatin1::chr_;

This function returns the character represented by that $code in the character
set. For example, Elatin1::chr(65) is "A" in either ASCII or Latin-1, and
Elatin1::chr(0x82a0) is a Latin-1 HIRAGANA LETTER A. For the reverse of Elatin1::chr,
use Latin1::ord.
Filename expansion (globbing)
@glob = Elatin1::glob($string);
@glob = Elatin1::glob_;

Performs filename expansion (DOS-like globbing) on $string, returning the next
successive name on each call. If $string is omitted, $_ is globbed instead.
This function function when the pathname ends with chr(0x5C) on MSWin32.

For example, C<<..\\l*b\\file/*glob.p?>> will work as expected (in that it will
find something like '..\lib\File/DosGlob.pm' alright). Note that all path
components are case-insensitive, and that backslashes and forward slashes are
both accepted, and preserved. You may have to double the backslashes if you are
putting them in literally, due to double-quotish parsing of the pattern by perl.
A tilde ("~") expands to the current user's home directory.

Spaces in the argument delimit distinct patterns, so C<glob('*.exe *.dll')> globs
all filenames that end in C<.exe> or C<.dll>. If you want to put in literal spaces
in the glob pattern, you can escape them with either double quotes.
e.g. C<glob('c:/"Program Files"/*/*.dll')>.