#!/usr/bin/perl -w -n

# this splits a multi-page doc (pages sep by ^L) into separate files, one for each page

use strict;

our ($page, $n, $digits, $filename);

BEGIN {
	$page = "";
	$n = 1;
	$digits = shift || 5;
}

if (/\f/) {
	if (!/^.$/) {
		die "^L must be the only character on a line by itself:\n".Dumper($_)."\n";
	}
	write_page();
	$page = "";
} else {
	$page .= $_;
}

END {
	if ($page ne "") {
		write_page();
	}
}

sub write_page {
	$filename = sprintf("%0${digits}d", $n);
	open OUT, ">$filename";
	print OUT $page;
	close OUT;
	++ $n;
}
