in reply to Re: Re: Re: Problem with CGI script not working (regex at fault)
in thread Problem with CGI script not working (regex at fault)
The comments at the top are my workaround, it allowed the script to simply ignore the offending line and continue.my $HTML = $query->param(-name=>"file"); print $query->header; print $query->start_html("Class Schedule"); while (<$HTML>) { # if (/SEE SCHEDULE OF CLASSES/) { # next; # } if (/^<(?:TR).*?>(\d{5}).*?>(\d{2}).*?>(\d{3}).*?>(\d{3}).*?>(\d{2 +}).*?>(?:[&\w]).*?>(\w+(?:(?:[\s\w|&]+)?)*).*?>\s(\d).*?>(\w*?\d(?:[, +\d\*]?)*)((?:[\w\d,]?)+).*?>(\w(?:(?:[\w\d-])?)*).*?<\/TR>(<.*)?/i) { push(@classid, $1); my $rec = join("", split(/,/, $9)); my $h_fix = join("", split(/,/, $8)); $rec =~ tr/H/h/; $h_fix =~ tr/H/h/; push(@classes, $h_fix); push(@class, parse($h_fix)); push(@location, $10); my @mi2 = ($2, $3, $4, $5); push(my @misc_info, \@mi2); push(@credits, $7); my $short_name = $6; $short_name =~ s/&/ AND /; push(@classname, $short_name); if ($h_fix =~ /\*$/) { push (@starperiod, "*"); } else { push(@starperiod, ""); } if ($9) { push(@classes, $rec); push(@class, parse($rec)); push(@classid, $1); push(@location, $10); push(@misc_info, \@mi2); push(@credits, $7); push(@classname, $short_name); if ($rec =~ /\*$/) { push (@starperiod, "*"); } else { push(@starperiod, ""); } } my @erec; if ($11) { my @temprec; @erec = $11 =~ />(.*?)</g; for (my $z = 0; $z < @erec; $z++) { my $rectemp; if ($erec[$z] =~ /^&/) { } else { if ($erec[$z] =~ /\*$/) { push (@starperiod, "*"); chop($erec[$z]); $rectemp = $erec[$z]; } else { $rectemp = $erec[$z]; } push(@temprec, $rectemp); } } my $temprec_fix = $temprec[10]; $temprec_fix =~ tr/H/h/; push(@classid, $classid[-1]); push(@classes, $temprec_fix); push(@class, parse($temprec_fix)); push(@location, $temprec[14]); push(@misc_info, \@mi2); push(@credits, $credits[-1]); push(@classname, $short_name); } } } close ($HTML);
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re: Re: Re: Re: Problem with CGI script not working (regex at fault)
by tachyon (Chancellor) on Jul 30, 2001 at 08:17 UTC |