Help language development. Donate to The Perl Foundation
Raku port of Perl's lcfirst() / ucfirst() built-ins
use P5lcfirst;
say lcfirst "FOOBAR"; # fOOBAR
with "ZIPPO" {
say lcfirst; # zIPPO
}
say ucfirst "foobar"; # Foobar
with "zippo" {
say ucfirst; # Zippo
}
This module tries to mimic the behaviour of Perl's lcfirst
and ucfirst
built-ins as closely as possible in the Raku Programming Language.
lcfirst EXPR
lcfirst Returns the value of EXPR with the first character lowercased.
This is the internal function implementing the "\l" escape in
double-quoted strings.
If EXPR is omitted, uses $_.
This function behaves the same way under various pragmata, such as
in a locale, as "lc" does.
ucfirst EXPR
ucfirst Returns the value of EXPR with the first character in uppercase
(titlecase in Unicode). This is the internal function implementing
the "\u" escape in double-quoted strings.
If EXPR is omitted, uses $_.
This function behaves the same way under various pragma, such as
in a locale, as "lc" does.
In future language versions of Raku, it will become impossible to access the $_
variable of the caller's scope, because it will not have been marked as a dynamic variable. So please consider changing:
lcfirst;
to either:
lcfirst($_);
or, using the subroutine as a method syntax, with the prefix .
shortcut to use that scope's $_
as the invocant:
.&lcfirst;
Elizabeth Mattijsen [email protected]
Source can be located at: https://github.com/lizmat/P5lcfirst . Comments and Pull Requests are welcome.
Copyright 2018, 2019, 2020, 2021 Elizabeth Mattijsen
Re-imagined from Perl as part of the CPAN Butterfly Plan.
This library is free software; you can redistribute it and/or modify it under the Artistic License 2.0.