This post will review how to pass arguments to a Perl script. This is something you can’t test online with codepad (unfortunately), because codepad only runs the script, without emulating a whole system with a shell and files to read…
Learning how to play with the Linux shell we understood that each program (or command) can be launched alone, or with parameters. We refer to these parameters as “arguments”.
An example below:
ls ls -l ls /usr/bin
The three commands always start with the program to run, but the first only ask the shell to execute the ls program, while the second and the third one also pass some “arguments” to it.
This is a core functionality of any Perl program: its the way we, the user, can ask the Perl program what to do.
If we save a Perl script as demo.pl, we know that to launch it we should type (provided that the script is in our current directory):
provided that this is the way we launch the command we now want to pass parameters the same way we did with ls, like:
perl demo.pl -l -n ciao
In the line above I gave three parameters to the script. As we cant figure out how many parameter a program needs, Perl stores all the passed arguments into an array, called @ARGV (remember that Perl is case sensitive!!!).
We are going to create a param1.pl (lab04 folder, of course) program that prints the first parameter you passed to it. It’s very simple:
print "The first parameter is $ARGV.\n";
Now create a script that will print all the parameters passed, not just the first. Save it as params.pl in the lab04 folder.
We want to print one parameter per line, like “The parameter is …“, and at the end it will print “You passed # total parameters“.
Submit it as usual, using hw4.1 as code.
If you have Linux on your laptop you can download the program and change it with a text editor like we did in the lab. Note that your Linux may be a little different, so you may need to looks for the Terminal and the Text Editor, but they are there somewhere. If you do not have Linux yet, you can use codepad. This task is coded “hw3” (not hw-3 or hw-03…. right?).
This is the first official homework you get! In this homework we are going to do some simple changes to a perl program, like we did during the last lab session.
If you have Linux on your laptop you can download the program and change it with a text editor like we did in the lab. Note that your Linux may be a little different, so you may need to looks for the Terminal and the Text Editor, but they are there somewhere. If you do not have Linux yet, you can use codepad. This task is coded “hw1“.