print "Howdy, world!\n"; ***** $phrase = "Howdy, world!\n"; # Set a variable. print $phrase; # Print the variable. ***** $answer = 42; # an integer $pi = 3.14159265; # a "real" number $avocados = 6.02e23; # scientific notation $pet = "Camel"; # string $sign = "I love my $pet"; # string with interpolation $cost = 'It costs $100'; # string without interpolation $thence = $whence; # another variable $x = $moles * $avocados; # an expression $cwd = `pwd`; # string output from a command $exit = system("vi $x"); # numeric status of a command $fido = new Camel "Fido"; # an object ***** $camels = '123'; print $camels + 1, "\n"; ***** @home = ("couch", "chair", "table", "stove"); ***** ($potato, $lift, $tennis, $pipe) = @home; ***** ($alpha,$omega) = ($omega,$alpha); ***** $home[0] = "couch"; $home[1] = "chair"; $home[2] = "table"; $home[3] = "stove"; ***** %longday = ("Sun", "Sunday", "Mon", "Monday", "Tue", "Tuesday", "Wed", "Wednesday", "Thu", "Thursday", "Fri", "Friday", "Sat", "Saturday"); ***** %longday = ( "Sun" => "Sunday", "Mon" => "Monday", "Tue" => "Tuesday", "Wed" => "Wednesday", "Thu" => "Thursday", "Fri" => "Friday", "Sat" => "Saturday", ); ***** $wife{"Adam"} = "Eve"; ***** print "Adam's wife is ", $wife{'Adam'}, ".\n"; ***** $e = exp(1); # 2.718281828459, or thereabouts ***** Noel 25 Ben 76 Clementine 49 Norm 66 Chris 92 Doug 42 Carol 25 Ben 12 Clementine 0 Norm 66 ***** % perl -e 'print "Hello, world!\n";' ***** % perl gradation ***** #!/usr/bin/perl ***** % gradation ***** % ../bin/gradation ***** #!/bin/sh -- # perl, to stop looping eval 'exec /usr/bin/perl -S $0 ${1+"$@"}' if 0; ***** #!/usr/bin/perl -w ***** open(SESAME, "filename"); # read from existing file open(SESAME, "filename" ); # create file and write to it open(sesame, ">>filename" ); # append to existing file open(sesame, "| output-pipe-command" ); # set up an output filter open(sesame, "input-pipe-command |" ); # set up an input filter ***** print stdout "Enter a number: " ; # ask for a number $number=; # input the number print STDOUT "The number is $number\n"; # print the number ***** chop($number = ); # input number and remove newline ***** $number = ; # input number chop($number); # remove newline ***** $a = 123; $b = 456; print $a + $b; # prints 579 print $a . $b; # prints 123456 ***** $a = 123; $b = 3; print $a * $b; # prints 369 print $a x $b; # prints 123123123 ***** print $a . ' is equal to ' . $b . "\n"; # dot operator print $a, ' is equal to ', $b, "\n"; # list print "$a is equal to $b\n"; # interpolation ***** print "-" x $scrwid, "\n"; ***** $a = $b; $a = $b + 5; $a = $a * 3; ***** $a *= 3; ***** $line .= "\n"; # Append newline to $line. $fill x= 80; # Make string $fill into 80 repeats of itself. $val ||= "2"; # Set $val to 2 if it isn't already set. ***** chop($number = ); ***** $a = 5; # $a is assigned 5 $b = ++$a; # $b is assigned the incremented value of $a, 6 $c = $a--; # $c is assigned 6, then $a is decremented to 5 ***** open(GRADES, "grades") or die "Can't open file grades: $!\n"; ***** -e "/usr/bin/perl" or warn "Perl is improperly installed\n"; -f "/vmunix" and print "Congrats, we seem to be running BSD Unix\n"; ***** if ($debug_level > 0) { # Something has gone wrong. Tell the user. print "Debug: Danger, Will Robinson, danger!\n"; print "Debug: Answer was '54', expected '42'.\n"; } ***** if ($city eq "New York") { print "New York is northeast of Washington, D.C.\n"; } elsif ($city eq "Chicago") { print "Chicago is northwest of Washington, D.C.\n"; } elsif ($city eq "Miami") { print "Miami is south of Washington, D.C. And much warmer!\n"; } else { print "I don't know where $city is, sorry.\n"; } ***** unless ($destination eq $home) { print "I'm not going home.\n"; } ***** while ($tickets_sold <10000) { $available=10000 - $tickets_sold; print "$available tickets are available. How many would you like: " ; $purchase=; chomp($purchase); $tickets_sold += $purchase; } ***** print "This show is sold out, please come back later.\n"; ***** while ($line = ) { ***** while (@ARGV) { process(shift @ARGV); } ***** for ($sold = 0; $sold <10000; $sold +=$purchase) { $available=10000 - $sold; print "$available tickets are available. How many would you like: " ; $purchase=; chomp($purchase); } ***** foreach $user (@users) { if (-f "$home{$user}/.nexrc") { print "$user is cool... they use a perl-aware vi!\n"; } } ***** foreach $key (sort keys %hash) { ***** foreach $user (@users) { if ($user eq "root" or $user eq "lp") { next; } if ($user eq "special") { print "Found the special account.\n"; # do some processing last; } } ***** LINE: while ($line =
) { last LINE if $line eq "\n"; # stop on first blank line next LINE if /^#/; # skip comment lines # your ad here } ***** while ($line = ) { if ($line =~ /http:/) { print $line; } } ***** while () { print if /http:/; } ***** while () { print if /http:/; print if /ftp:/; print if /mailto:/; # What next? } ***** $_ = "fred xxxxxxx barney"; s/x*//; ***** /\bFred\b/ ***** next LINE if /^#/; ***** s/(\S+)\s+(\S+)/$2 $1/ ***** @array = (1 + 2, 3 - 4, 5 * 6, 7 / 8); ***** sort @guys, @gals, other(); ***** print reverse sort map {lc} keys %hash; *****