#!/usr/bin/perl -w # This script searches for a pattern similar to this: #
#
#
BIO 110 Biology Seminar
#
# This offering serves to introduce the majors to the broad field of biological # sciences through seminars and discussions focusing on current subject areas, # approaches and techniques used by scientists to understand the living world. # Specific content will vary depending on instructor. Fl, Sp-1-
#
#
use 5.004; use Getopt::Std qw(&getopts); use subs qw(&bail); use vars qw($opt_d $DEBUG); use vars qw($file @files); use vars qw($contents @contents); use vars qw(@courses); local (*FILE); $DEBUG = 0; if (!getopts('-d')) { &bail("invalid arguments"); } if (defined $opt_d) { $DEBUG = 1; } if ($#ARGV < 0) { &bail("usage:: " . $0 . " file [ file ... ]\n"); } @files = @ARGV; if ($DEBUG > 0) { print STDOUT "starting with file $files[0]\n"; } foreach $file (@files) { if ($DEBUG > 0) { print STDOUT "processing $file\n"; } if (!(open FILE, "<$file")) { warn "can't open $file\n"; next; } @contents = ; close FILE; @contents || next; $contents = join "", @contents; # print $contents; @courses = split m#
\n?
# , $contents; foreach my $course (@courses) { my $t1 = $course =~ /global/i; my $t2 = $course =~ /sustain/i; my $t3 = $course =~ /warm/i; my $t4 = $course =~ /earth/i; if ($t1 || $t2 || $t3 || $t4) { print "$course"; } print "---------------------------\n"; } exit 0; } exit 0; sub bail { my $error = "@_"; print "$error\n"; exit 1; }