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