●
5.38.2
Latest
5.40.0
5.38.2
5.38.1
5.38.0
5.36.3
5.36.2
5.36.1
5.36.0
5.34.3
5.34.2
5.34.1
5.34.0
5.32.1
5.32.0
5.30.3
5.30.2
5.30.1
5.30.0
5.28.3
5.28.2
5.28.1
5.28.0
5.26.3
5.26.2
5.26.1
5.26.0
5.24.4
5.24.3
5.24.2
5.24.1
5.24.0
5.22.4
5.22.3
5.22.2
5.22.1
5.22.0
5.20.3
5.20.2
5.20.1
5.20.0
5.18.4
5.18.3
5.18.2
5.18.1
5.18.0
5.16.3
5.16.2
5.16.1
5.16.0
5.14.4
5.14.3
5.14.2
5.14.1
5.14.0
5.12.5
5.12.4
5.12.3
5.12.2
5.12.1
5.12.0
5.10.1
5.10.0
5.8.9
5.8.8
5.8.7
5.8.6
5.8.5
5.8.4
5.8.3
5.8.2
5.8.1
5.8.0
5.6.2
5.6.1
5.6.0
5.005_04
5.005_03
5.005_02
5.005_01
5.005
●
Dev
blead
5.41.2
5.41.1
5.40.0-RC2
5.40.0-RC1
5.39.10
5.39.9
5.39.8
5.39.6
5.39.5
5.39.4
5.39.3
5.39.2
5.39.1
5.37.11
5.37.10
5.37.9
5.37.8
5.37.7
5.37.6
5.37.5
5.37.4
5.37.3
5.37.2
5.37.1
5.37.0
●
Documentation
Perl
Intro
Tutorials
FAQs
Reference
Operators
Functions
Variables
Modules
Utilities
Community
History
functions
/ pos
(source,
CPAN)
You are viewing the version of this documentation from Perl 5.38.2.
View the latest version
#pos SCALAR
#pos
Returns the offset of where the last m//g
search left off for the variable in question ($_
is used when the variable is not specified). This offset is in characters unless the (no-longer-recommended) use bytes
pragma is in effect, in which case the offset is in bytes. Note that 0 is a valid match offset. unde
f
indicates that the search position is reset (usually due to match failure, but can also be because no match has yet been run on the scalar).
pos
directly accesses the location used by the regexp engine to store the offset, so assigning to pos
will change that offset, and so will also influence the \G
zero-width assertion in regular expressions. Both of these effects take place for the next match, so you can't affect the position with pos
during the current match, such as in (?{
pos() = 5})
ors//pos() = 5/e
.
Setting pos
also resets the matched with zero-length flag, described under "Repeated Patterns Matching a Zero-length Substring" in perlre.
Because a failed m//gc
match doesn't reset the offset, the return from pos
won't change either in this case. See perlre and perlop.
Perldoc Browser is maintained by Dan Book (DBOOK). Please contact him via the GitHub issue trackeroremail regarding any issues with the site itself, search, or rendering of documentation.
The Perl documentation is maintained by the Perl 5 Porters in the development of Perl. Please contact them via the Perl issue tracker, the mailing list, or IRC to report any issues with the contents or format of the documentation.