Monday, April 6, 2015

Latest Perl version and its features listed

Perl application
Perl is basically a family of highly capable dynamic and interpreted programming languages that are used for general purposes. The main languages of this family include Perl 5 and Perl 6. Perl 6 has no significant borrowing on Perl 5 and is not yet released.

The programming language was initially developed for manipulating texts but since 2010, it has been used for a number of diverse tasks that includes Perl web development, network programming, system administration, GUI development, games as well as bioinformatics.

Latest version of Perl 5
The 5th version of the programming language is rich in features. It has been 27 years of development that this programming language is into. It runs on more than a hundred platforms ranging from portables to the mainframes besides being suitable for rapid prototyping as well as for the development projects that are mainly large scale based. The latest version is perl-5.21.9.

Features
On the whole, it derives its basic structure from C. It is by nature procedural along with variables, assignments, expressions, statements, sub routines, brace delimited blocks and control structures.

It is characterised by arbitrarily nested data structures, object oriented programming, reusability and modularity, Lexical scoping, various usability enhancements, destructors and constructors of package, POSIX compliant along with a number of DBM implementations that are by nature simultaneous.

Easily extendible
This is easily extensible with more than 25,000 modules (open source) that are available from the CPAN (Comprehensive Perl Archive Network).

Text manipulation
Perl 5 is famous for its high end text manipulation capabilities. It includes powerful tools for processing the text to make it perfect for working with XML, HTML along with other natural and mark-up languages.

Mission critical
Perl 5.21.9 is used for projects with a critical mission both in the private and public sectors. These are object-oriented, functional and procedural as well as it provides support for similar type of programming.

Unicode support
It provides support for Unicode version 6 available from Perl 5.14 version.

Database integration
The Database Integration Interface of the language provides support for various third-party databases like Oracle, Postgres, Sybase, MySQL and many others.

Open Source
It is basically Open Source software, licensed under its Artistic License, or the GNU General Public License (GPL).

C/C++ library interface
The language interfaces with external C/C++ libraries through either XS or SWIG.

Embeddable
Perl interpreter is known to be able for embedding into various other systems like database servers and web servers.

Automatic data-typing and memory management
It is an inherent feature in all versions of the chosen programming language. Basically the interpreter has the relevant knowledge of the data types as well as the storage requirements for each data object in the program.

It carries out the allocation and freeing of storage for them that are necessary making use of reference counting so that it cannot de-allocate particular circular data structures without a manual intervention.

Explicit features of perl-5.21.9
  • The 'say' feature is used for telling the compiler to make arrangements for enabling the say function as that of Perl 6.
  • The 'state' feature similarly tells the compiler to go for enabling the state variables
  • The 'switch' feature lets the compiler in enabling the Perl 6 given/when construct
  • The 'unicode_strings' feature allows the compiler to make good use of the Unicode rules in almost all string operations that are executed within the scope.
  • Under the 'unicode_eval' feature, the eval function of the programming language on passing a string goes in for evaluating the same as a string of characters and ignores any of the use utf8 declarations.
  • The evalbytes feature lets the Perl Programmers in enabling of the evalbytes keyword, that in turn evaluates the argument that has been passed on to it in the form of a string of bytes. It perishes in case the string contains any character that is outside the fixed range of 8 bits.
  • There are ‘Source filters’ that work within evalbytes that are applied to the contents of the string that is being evaluated.
  • These 2 features are basically intended to replace the historical function of eval that has a minimum of 2 bugs in them and which cannot be fixed easily unless the existing programs are broken.
  • The 'current_sub' feature provides the __SUB__ token which again returns a certain reference to the current subroutine or the undef outside of a particular subroutine.
  • The 'array_base' feature supports the legacy $[ variable.
  • The 'fc' feature allows the compiler in enabling the fc function for implementation of the Unicode casefolding.
  • The 'lexical_subs' feature enables the declaration of various subroutines via state sub foo, my sub foo as well as our sub foo syntax. It is to be noted here that it is still in the experimental phase and its implementation may result in changes in the future versions of the programming language.
  • The 'postderef' feature allows using of the postfix de-reference syntax and the 'postderef_qq' feature basically extends this function for the array as well as scalar dereference, for working inside of the double-quotish interpolations.
  • The 'signatures' feature enables the unpacking of various subroutine arguments into the lexical variables via syntax
  • The 'refaliasing' feature enables aliasing through assignment to reference
  • The 'bitwise' feature helps in allowing the 4 bitwise operators (& | ^ ~) to treat their respective operands consistently in terms of numbers, and also introduces 4 new dotted operators (&. |. ^. ~.) that in turn treat their operands continuously in terms of strings.
The strength of the Perl application lies in its inherent ability of interacting with its environment. It is actually a powerful string language originally aimed at manipulation of texts. This language has been translated so as to function effectively in Windows, MS-DOS, Amiga DOS, Macintosh DOS, Windows 95, etc.

If you would like to hire Perl programmers for your web development needs, please contact Mindfire Solutions.

No comments:

Post a Comment