#!/usr/bin/perl
# convert RADCAT.HTML into data for organulator.html
$file = "radcat.html" ;
open(ARC,$file) || die "Can't find file $file\n";
while () {
if (/Reactive/) { goto data };
}
data:
$group = -1 ;
while ( ) {
if (/Allyl/) { goto endspec }
if (/NAME/) { $group++;
($a,$head,$c) = split('"') ;
print "Type[$group]=\"$head\" \n" ;
}
if (/webmo/) {
s/^.*webmo\/// ;
($dfile,$b) = split('"') ;
open(DTA,$dfile) || die "Can't find file $dfile\n";
while () {
if (/^ Total electronic/) {
s/^.*= *// ;
s/ Hartrees// ;
chop ;
print "E[i]=" ;
print ;
break ;
}
}
($name,$formula) = split(', ',$b) ;
$name =~ s/>// ;
$class = 0 ;
$name =~ s/ radical/\*/ ;
if ( $name =~ /\*/ ) { $class = 2 }
$name =~ s/ cation/+/ ;
if (( $name =~ /\+/ ) && ( $class !=2 )) { $class = 3 }
if (( $name =~ /\+/ ) && ( $class ==2 )) { $class = 1 }
if ( $name =~ /anion/ ) { $class = 4 }
$name =~ s/ anion$/-/ ;
$name =~ s/ triplet/\*\*/ ;
$name =~ s/\*\+/\+\*/ ;
$formula =~ s///g ;
$formula =~ s/<\/su.>//g ;
$formula =~ s/<\/A>// ;
$formula =~ s//*/ ;
chop($formula) ;
print "; Nom[i]=\"$name\"; Frm[i]=\"$formula\";" ;
$class += $group*5 ;
print " Class[i]=$class; i++;\n" ;
}
}
endspec: