sub sql_write { my $hash = shift; my $dbh = DBI->connect("dbi:SQLite:dbname=mahou.db","","", { RaiseError => 1, AutoCommit => 0 }); eval { $dbh->do("DELETE FROM mahou_data"); my $sth = $dbh->prepare("INSERT INTO mahou_data values(?,?,?,?,?)"); foreach my $anime (sort keys %{$hash}) { $sth->execute( $anime, @{[ map { $hash->{$anime}{$_} } ('link','station','airtime','eta') ]} ); } $dbh->commit; } if $@ { $dbh->rollback; print "Failure.\n"; } $dbh->disconnect; }