#!/usr/bin/perl -w # $Id: mktests,v 1.3 2002-11-20 22:50:45 mike Exp $ use IO::File; use strict; maybe_mkdir("sections"); my $section = 0; my $dir; my $query; while (<>) { chomp(); s/[ \t]+$//; next if /^$/; if (s/^#[ \t]*//) { $section++; $query = 0; $dir = "sections/" . substr("0$section", -2); maybe_mkdir($dir); write_file("$dir/name", $_); print "created section $section ($dir) - $_\n"; next; } die "query before first section header" if !defined $dir; $query++; my $filename = $dir . "/" . substr("0$query", -2) . ".cql"; write_file($filename, $_); $filename =~ s@sections/(.*)\.cql@$1@; print " added $filename - $_\n"; } sub write_file { my($name, $contents) = @_; my $fh = new IO::File(">$name") or die "can't create '$name': $!"; $fh->print($contents); $fh->close(); } sub maybe_mkdir { my($dir) = shift(); if (mkdir $dir) { return; } if ($! =~ /exists/i) { return; } die "can't create directory '$dir': $!"; }