Leser: 1
![]() |
|< 1 2 3 4 >| | ![]() |
33 Einträge, 4 Seiten |
Quoteindex STR,SUBSTR,POSITION
index STR,SUBSTR
The index function searches for one string within another, but
without the wildcard-like behavior of a full regular-expression
pattern match. It returns the position of the first occurrence
of SUBSTR in STR at or after POSITION. If POSITION is omitted,
starts searching from the beginning of the string. The return
value is based at "0" (or whatever you've set the "$[" variable
to--but don't do that). If the substring is not found, returns
one less than the base, ordinarily "-1".
Quotesubstr EXPR,OFFSET,LENGTH,REPLACEMENT
substr EXPR,OFFSET,LENGTH
substr EXPR,OFFSET
Extracts a substring out of EXPR and returns it. First character
is at offset "0", or whatever you've set "$[" to (but don't do
that). If OFFSET is negative (or more precisely, less than
"$["), starts that far from the end of the string. If LENGTH is
omitted, returns everything to the end of the string. If LENGTH
is negative, leaves that many characters off the end of the
string.
You can use the substr() function as an lvalue, in which case
EXPR must itself be an lvalue. If you assign something shorter
than LENGTH, the string will shrink, and if you assign something
longer than LENGTH, the string will grow to accommodate it. To
keep the string the same length you may need to pad or chop your
value using "sprintf".
If OFFSET and LENGTH specify a substring that is partly outside
the string, only the part within the string is returned. If the
substring is beyond either end of the string, substr() returns
the undefined value and produces a warning. When used as an
lvalue, specifying a substring that is entirely outside the
string is a fatal error. Here's an example showing the behavior
for boundary cases:
my $name = 'fred';
substr($name, 4) = 'dy'; # $name is now 'freddy'
my $null = substr $name, 6, 2; # returns '' (no warning)
my $oops = substr $name, 7; # returns undef, with warning
substr($name, 7) = 'gap'; # fatal error
An alternative to using substr() as an lvalue is to specify the
replacement string as the 4th argument. This allows you to
replace parts of the EXPR and return what was there before in
one operation, just as you can with splice().
![]() |
|< 1 2 3 4 >| | ![]() |
33 Einträge, 4 Seiten |