Foundations
Hello Perl
Start with a tiny Perl program that stores a name and prints a greeting.
scalar variable
A scalar variable begins with `$` and stores one value, such as a string or number.
Hello Perl
hello.pl
Replay: real traced execution (multi-file project)
use strict;
use warnings;
my $name = "Perl";
my $message = "Hello, $name!";
print "$message\n";
use strict;
use warnings;
my $name = "Ada";
my $message = "Hello, $name!";
print "$message\n";
use strict;
use warnings;
my $name = "Larry";
my $message = "Hello, $name!";
print "$message\n";
$name ← Perl, $message ← Hello, Perl!
4my $name→ Perl = "Perl"; #@name="Ada", "Larry"5my $message→ Hello, Perl! = "Hello, $namePerl!";67print "$messageHello, Perl!\n";outputHello, Perl!
$name ← Ada, $message ← Hello, Ada!
4my $name→ Ada = "Ada";5my $message→ Hello, Ada! = "Hello, $nameAda!";67print "$messageHello, Ada!\n";outputHello, Ada!
$name ← Larry, $message ← Hello, Larry!
4my $name→ Larry = "Larry";5my $message→ Hello, Larry! = "Hello, $nameLarry!";67print "$messageHello, Larry!\n";outputHello, Larry!
What Happens
use strictanduse warningskeep the small script checked.$namestarts as"Perl".$messagebecomesHello, Perl!.- The program prints
Hello, Perl!.
Value Map
| name | message |
| --- | --- |
| Perl | Hello, Perl! |
| Ada | Hello, Ada! |
| Larry | Hello, Larry! |
Try It
Exercise: hello.pl
Reproduce Hello, Perl!, then use the pinned names Ada and Larry to predict each greeting.