You are viewing the version of this documentation from Perl 5.8.3. View the latest version
$]

The version + patchlevel / 1000 of the Perl interpreter. This variable can be used to determine whether the Perl interpreter executing a script is in the right range of versions. (Mnemonic: Is this version of perl in the right bracket?) Example:

warn "No checksumming!\n" if $] < 3.019;

See also the documentation of use VERSION and require VERSION for a convenient way to fail if the running Perl interpreter is too old.

When testing the variable, to steer clear of floating point inaccuracies you might want to prefer the inequality tests < and > to the tests containing equivalence: <=, ==, and >=.

The floating point representation can sometimes lead to inaccurate numeric comparisons. See $^V for a more modern representation of the Perl version that allows accurate string comparisons.