Example nine: Subroutines
# Example nine - Subroutines.
# A simple subroutine to split input lines: how to create and call.
# It also introduces the substitute expression.
#
# by Al Bento
$infile = "example8.txt";
$outfile = "example9.txt";
open (READ, "<" . $infile) || die "Could not open file to read\n";
open (WRITE, ">" . $outfile) || die "could not open file to write\n";
print "This is the printout of the data written to the new file\n\n";
while (<READ>) {chop;
÷ # calls the divide function
print WRITE "$name likes $color\n";
print "$name likes $color\n";
}
close (READ);
close (WRITE);
# example 8 has not taken care of blanks after the name and after the
# color. The divide function will split the line and remove blanks,
# if any.
sub divide {
($name,$color) = split (/=/,$_);
$name =~ s/\W.*//; # remove blanks after first word
$color =~ s/\W.*//; # remove blanks after second word
}
# NOTE:
# \w matches anything valid in a variable name in Perl,
# while \W matches the opposite
# . matches any single non-newline character
# * means zero or more of the previous character
# // means we are substituting for nothing (deleting)
download the script
This page is maintained by Al Bento
who can be reached at abento@ubmail.ubalt.edu. This page was last updated on June 15, 1997. Although we will attempt to keep this information accurate, we can not guarantee the accuracy of the information provided.