Perl vs Python

Perl is a general purpose, high level interpreted and dynamic programming language. It was developed by Larry Wall, in 1987. Perl was originally developed for the text processing like extracting the required information from a specified text file and for converting the text file into a different form. Perl supports both the procedural and Object-Oriented programming. Perl is a lot similar to C syntactically and is easy for the users who have knowledge of C, C++.

Python is a widely used general-purpose, high level programming language. It was initially designed by Guido van Rossum in 1991 and developed by Python Software Foundation. It was mainly developed for emphasis on code readability, and its syntax allows programmers to express concepts in fewer lines of code.

Below are some major differences between Perl and Python:

Feature Perl Python
Introduction Perl is a general purpose high level language popular for CGI scripts. Some of the popular projects in Perl are CPanel and Bugzilla. It was initially designed to replace complex shell scripts. Python is a widely used general-purpose, high level programming language. Due to its rich library and support, it has wide applications in Web Development, Machine Learning, Desktop Applications, etc.
Whitespaces Perl does not care about whitespaces. Python deals with whitespaces and a syntax error generates if whitespaces are not according to Python.
Focus Perl accentuates support for common tasks such as report generation and file scanning. Python accentuates support for common methodologies such as object-oriented programming and data structure design.
File Extension The .pl file extension is used to save Perl Scripts. For example The .py file extension is used to save Python Scripts. Example:
End of Statement All statements should end with a semi colon in Perl. It is not necessary to end the statements with a semi colon in Python as it deals with whitespaces.
Comments and Documentation For Inline comments, we use # in Perl.
e.g. #Inline-Comment in Perl
whereas for documentation we use
= and =cut
e.g. =Documentation in Perl
starts from here and ends here. =cut
Python also uses # for Inline comments.
e.g. #Inline-Comment in Python
but for documentation we use
“”” i.e. Three inverted commas
e.g. “””Documentation in Python
starts from here and ends here.”””
Statement Blocks Perl uses braces to mark the statement blocks. Python use indentations to mark the statement blocks.
Datatypes Some data types contained by Perl are numeric, string, Scalars, Arrays, Hashes. Some data types contained by Python are numeric, strings, lists, dictionaries, tuples.
My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using or mail your article to See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.

Article Tags :
Practice Tags :


Please write to us at to report any issue with the above content.