Workshop in Computational Bioskills - Lesson 3 - Control Structures

Workshop in Computational Bioskills - Spring 2009

Lesson 3 - Perl II

Back to Lesson 2

Control flow


# block statement
#!/usr/bin/perl -w
{
    print "hello, world\n";
    $a = 0;
    $a++;
    $a++;
    $a++;
    print "\$a = $a\n";
}

# if statement
#!/usr/bin/perl -w
# $a = 0;
$a = 1;
if ($a == 0) {
    print "In loop: \$a = $a\n";
}

# one-line if statement
#!/usr/bin/perl -w
$a = 1;
print "In loop: \$a = $a\n" if ($a > 0);

# unless statement
#!/usr/bin/perl -w
# $a = 0;
$a = 1;
unless ($a == 0) {
    print "In loop: \$a = $a\n";
}

# while statement
#!/usr/bin/perl -w
$a = 0;
while ($a <= 10) {
    print "In loop: \$a = $a\n";
    $a++;
}

# until statement
#!/usr/bin/perl -w
$a = 10;
until ($a <= 0) {
    print "In loop: \$a = $a\n";
    $a--;
}

# do { } while
#!/usr/bin/perl -w
$a = 0;
do {
    print "In loop: \$a = $a\n";
    $a++;
} while ($a <= 10);

# for loop
#!/usr/bin/perl -w
$a = -1;
# print "Before entering: \$a = $a\n";
for ($a = 0; $a <= 10; $a++) {
    print "In loop: \$a = $a\n";
}
# print "Free at last: \$a = $a\n";

# foreach
#!/usr/bin/perl -w
$a = -1;
# print "Before entering: \$a = $a\n";
foreach $a (0 .. 10) {
    print "In loop: \$a = $a\n";
}
# print "Free at last:\$a = $a\n";
Works also with arrays: foreach $i (@array)

# last statement
#!/usr/bin/perl -w
for ($a = 0; $a <= 10; $a++) {
    last if ($a == 5);
    print "In loop: \$a = $a\n";
}

# next statement
#!/usr/bin/perl -w
for ($a = 0; $a <= 10; $a++) {
    next if ($a == 5);
    print "In loop: \$a = $a\n";
}

# redo statement
#!/usr/bin/perl -w
for ($a = 0; $a <= 10; $a++) {
    redo if ($a == 5);
    print "In loop: \$a = $a\n";
}

# cat.pl
#!/usr/bin/perl -w
while (<>) {
    print;
}

# cat2.pl
#!/usr/bin/perl -w
print while (<>);