#!/usr/bin/perl use strict; use warnings; use Data::Dumper; use HTML::TableExtract; my @db; my $raw_html = do { open my $in, '<', 'lab8input.txt' or die "Can't open lab8input.txt + $!"; local $/ = undef; <$in>; }; my $te = new HTML::TableExtract( headers => ['Course', 'Course\s+Name', "Fall", "Winter", "Spring", "Summer"]); + $te->parse($raw_html); # Examine all matching tables foreach my $ts ( $te->table_states ) { # print "Table (", join(',', $ts->coords), "):\n"; # there's only o +ne table! foreach my $row ( $ts->rows ) { @$row = map{$_//=''}@$row; #set undef cols to empty string my @quarter_flags = (@$row)[-4..-1]; my @quarters; push @quarters,'Fall' if shift @quarter_flags; push @quarters,'Winter' if shift @quarter_flags; push @quarters,'Spring' if shift @quarter_flags; push @quarters,'Summer' if shift @quarter_flags; push @db, [@$row[0], @$row[1], join(',',@quarters)]; # print join( ',', @$row ), "\n"; } } print Dumper \@db; __END__ @db looks like this: 3 columns: Course,Name,Quarters offered (if any +listed) [ 'CIS 95B', 'Project Planning and Control - A Practicum', 'Fall,Spring' ],
In reply to Re: Why isn't my global matching regex working?
by Marshall
in thread Why isn't my global matching regex working?
by jdseymour
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |