●
5.20.1
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
variables
/ $[
(source,
CPAN)
You are viewing the version of this documentation from Perl 5.20.1.
View the latest version
#$[
This variable stores the index of the first element in an array, and of the first character in a substring. The default is 0, but you could theoretically set it to 1 to make Perl behave more like awk (or Fortran) when subscripting and when evaluating the index() and substr() functions.
As of release 5 of Perl, assignment to $[
is treated as a compiler directive, and cannot influence the behavior of any other file. (That's why you can only assign compile-time constants to it.) Its use is highly discouraged.
Prior to Perl v5.10.0, assignment to $[
could be seen from outer lexical scopes in the same file, unlike other compile-time directives (such as strict). Using local() on it would bind its value strictly to a lexical block. Now it is always lexically scoped.
As of Perl v5.16.0, it is implemented by the arybase module. See arybase for more details on its behaviour.
Under use v5.16
, or no feature
"array_base"
, $[
no longer has any effect, and always contains 0. Assigning 0 to it is permitted, but any other value will produce an error.
Mnemonic: [ begins subscripts.
Deprecated in Perl v5.12.0.
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.