#!/usr/bin/perl -w
# USAGE: x002dat.pl *.x00
# (C) Jochen Puchalla 2005
$good=0;
$bad=0;
foreach $file (@ARGV)
{
if (! open(INPUT,"<$file") )
{
print STDERR "Can't open input file $file\n";
$bad++;
next;
}
$filecore=$file;
$filecore =~ s/.x00$//g;
if ($file eq $filecore)
{
print STDERR "$file is not an x00 file\n";
$bad++;
next;
}
# open output file:
if (! open(OUTPUT,">$filecore.dat") ) { print STDERR "Can't open output file $filecore.dat\n"; $bad++; next; }
print "Generating $filecore.dat\n";
$good++;
while ($line=)
{
$line =~ s/[\n\r]$//g; #remove newline at end of string
if ($line =~ /^FirstAngle/)
{
@values = split(/\s/, $line);
$pos = $values[1];
}
if ($line =~ /^StepWidth/)
{
@values = split(/\s/, $line);
$step = $values[1];
}
if ($line =~ /^\d/)
{
printf OUTPUT "%.3f %.4f\n",$pos,$line;
$pos = $pos + $step;
}
}
close INPUT;
open(INPUT,"<$file");
# handle header:
while ( ($line=) =~ /^[A-Z]/i ) { print OUTPUT "# $line"; } #if line starts with letter, copy it
close INPUT;
close OUTPUT;
}
if ($good==0) {print "\nDid not generate a file\n";}
if ($good==1) {print "\nGenerated one file\n";}
if ($good>1) {print "\nGenerated $good files\n";}
if ($bad==0) {print "There was no problematic file\n";}
if ($bad==1) {print "There was one problematic file\n";}
if ($bad>1) {print "There were $bad problematic files\n";}
exit(0);