use feature в Perl 5.10.1
16-11-2009 10:50
к комментариям - к полной версии
- понравилось!
Уж коли хочется писать use v5.10, то надо понимать, как это работает в новой версии :-)
Помимо use v5.10 допустимо писать и так:
use feature ':5.10';
Начиная с Perl 5.10.1 (и по крайней мере в пределах 5.10) в этом случае будут иметь значение только две первые части версии. Следующие два варианта полностью эквивалентны:
use feature ':5.10.1';
use feature ':5.10';
В отличие от Perl 5.10, где версия проверяется целиком, Perl 5.10.1 разрешает указывать и еще не существующую версию, например:
use feature ':5.10.3';
Perl 5.10 же в этом случае сообщает об ошибке:
Feature bundle "5.10.1" is not supported by Perl 5.10.0 at usefeature.pl line 1
BEGIN failed--compilation aborted at usefeature.pl line 1.
Разумеется, use feature не следует путать с use vX.Y.Z. В такой инструкции версия проверяется полностью и честно:
use v5.10.3;
say "test";
Perl v5.10.3 required--this is only v5.10.1, stopped at usefeature.pl line 1.
BEGIN failed--compilation aborted at usefeature.pl line 1.
вверх^
к полной версии
понравилось!
в evernote