I worked on some perl code to extract some information I have on file about quotes (see Quote Page Help, posted earlier). I came up with some simple code, and before going into a database or any decision about that, I first want to see if what I have can suit my needs. However I get this error:
Unmatched before ( HERE mark in regex m//-s(\S+)[^\n]*\n\/\-q(( <<
HERE ?:./ at qoutes.pl line 12
Any reason/possible fixes for this? Thanks.
my @files = qw(quotePAGE1 quotePAGE2);
for (@files) {
open IN, $_ or die "failed opening file $_, at";
$\ = "\n\n";
my $num = 0;
my($chunk,$q_num,%s_nums,%auth,@s,%subj);
while($chunk = <IN>) {
++$num;
$chunk =~ s|^/-a(\S+)[^/n]*\n|| or
die "no author? file $_, chunk $num; at";
$a = $1;
while($chunk =~ s|/-s(\S+)[^\n]*\n/-q((?:.|\n)+?(?=/-))||) {
$q_num = 0;
$auth{$a}->[$q_num] = $2;
@s = split /,/,$1;
for (@s) { (undef($s_nums{$_}) && $s_nums{$_} = 0) ||
$s_nums{$_} += 1 }
$subj{$_}->[$s_nums{$_}] = $2 for @s;
}
}
}