5 my $dsn = "DBI:mysql:infobot:localhost";
6 my $dbh = DBI->connect( $dsn, "USERNAME", "PASSWORD" );
11 my $regex = '\\\\([\_\%])';
13 $query = "SELECT factoid_key,factoid_value from factoids";
14 my $sth = $dbh->prepare($query);
16 while ( my @row = $sth->fetchrow_array ) {
17 if ( $row[0] =~ /$regex/ ) {
18 push( @factkey, $row[0] );
21 $factval{ $row[0] } = $row[1] if ( $row[1] =~ /$regex/ );
26 print "scalar factkey => '" . scalar(@factkey) . "'\n";
28 print "factkey => '$_'.\n";
30 $new =~ s/$regex/$1/g;
32 next if ( $new eq $_ );
35 "SELECT factoid_key FROM factoids where factoid_key=" . $dbh->quote($new);
36 my $sth = $dbh->prepare($query);
38 if ( scalar $sth->fetchrow_array ) { # exist.
39 print "please remove $new or $_.\n";
45 "UPDATE factoids SET factoid_key="
47 . " WHERE factoid_key="
49 my $sth = $dbh->prepare($query);
55 print "scalar factval => '" . scalar( keys %factval ) . "\n";
56 foreach ( keys %factval ) {
57 print "factval => '$_'.\n";
59 my $old = $factval{$_};
61 $new =~ s/$regex/$1/g;
63 next if ( $new eq $old );
66 "UPDATE factoids SET factoid_value="
68 . " WHERE factoid_key="
70 my $sth = $dbh->prepare($query);
77 # vim:ts=4:sw=4:expandtab:tw=80