Windows

For Windows we are going to use DWIM Perl. It is a package
that contains the Perl compiler/interpreter, Padre, the Perl IDE
and a number of extensions from CPAN.

In order to get started visit the website of DWIM Perl
and follow the link to download DWIM Perl for Windows.

Go ahead, download the exe file and install it on your system. Before doing so,
please make sure you don't have any other Perl installed.

They could work together but that would require some more explanations.
For now let's have one single version of Perl installed on your system.

Linux

Most Linux modern Linux distributions come with a recent version of Perl.
For now we are going to use that version of Perl. For editor,
you can install Padre - most Linux distribution offer it from their
official package management system. Otherwise you can pick any regular text editor.
If you are familiar with vim or Emacs, use the one you like. Otherwise
Gedit might be a good simple editor.

Apple

I believe Macs also come with Perl or you can easily install it via
the standard installation tools.

Editor and IDE

Even though it is recommended, you don't have to use the Padre IDE to write Perl code.
In the next part I'll list a couple of editors and IDEs you
can use for your Perl programming. Even if you select another editor
I'd recommend - for the Windows users - to install the above mentioned DWIM Perl package.

It has lots of Perl extensions bundled so it will save you a lot of time down the road.

First program

Hello world

Once you installed DWIM Perl you can click on
"Start -> All programs -> DWIM Perl -> Padre" which will open the editor
with and empty file.

Type in

print "Hello World\n";

As you can see statements in perl end with a semi-colon ;.
The \n is the sign we used to denote a newline.
Strings are enclosed in double-quotes ".
The print function prints to the screen.
When this is executed perl will print the text and at the end it will print a newline.

Save the file as hello.pl and then you can run the code by selecting "Run -> Run Script"
You will see a separate window showing up with the output.

That's it, you wrote your first perl script.

Let's enhance it a bit.

Perl on the command line for non-Padre users

If you are not using Padre or one of the other IDEs
you won't be able to run your script from the editor itself.
At least not by default. You will need to open a shell
(or cmd in Windows), change to the directory where you saved the hello.pl
file and type in:

perl hello.pl

That's how you can run your script on the command line.

say() instead of print()

Let's improve our one-line Perl script a bit:

First of all let's state the minimum version of Perl we would like to use:

use 5.010;
print "Hello World\n";

Once you typed this in, you can run the script again by selecting
"Run -> Run Script" or by pressing F5.
That will automatically save the file before running it.

It is generally a good practice to tell what is the minimum version of perl your code requires.

In this case it also adds a few new features to perl including the say keyword.
say is like print but it is shorter and it
automatically adds a newline at the end.

You can change your code like this:

use 5.010;
say "Hello World";

We replaced print by say and remove the \n from the end of the string.

The current installation you are using is probably version 5.12.3 or 5.14.
Most modern Linux distributions come with version 5.10 or newer.

Unfortunately there are still places using older versions of perl.
Those won't be able to use the say() keyword and might need some adjustments
to the examples later. I'll point out when I am actually using features
that require version 5.10.

Safety net

In addition in every script I'd strongly recommend to make some further modifications to
the behavior of Perl. For this we add 2, so called pragmatas, that are very similar to compiler flags
in other languages:

examples/hello_world.pl

use 5.010;
use strict;
use warnings;
say "Hello World";

In this case the use keyword tells perl to load and enable each pragma.

strict and warnings will help you catch some common bugs
in your code or sometimes even prevent you from making them in the first place.
They are very handy.

User Input

Now let's improve our example by asking the user her name and including
it in the response.