Revision: 22161
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at January 4, 2010 13:29 by vorp
Initial Code
#!/usr/bin/perl
# Usage in command line: perl <app> <file-to-be-converted> <width> <height>
# e.g. <app> myGeo.geo 30 30
# Parse .geo file and reformat as REFRACT-style height data file
my $origfile = $ARGV[0];
my $sizeX = $ARGV[1];
my $sizeY = $ARGV[2];
my $outfile = "refract_" . $origfile;
my %hTmp;
open (IN, "<$origfile") or die "Couldn't open input file: $!";
#open (OUT, ">$outfile") or die "Couldn't open output file: $!";
my $numPoints = 0;
my $rowPoints = 0;
my $dataOut = "";
while (my $sLine = <IN>) {
#print "line\n";
#if ($sLine =~ m/^([-+]?([0-9]*\.)?[0-9]+) ([-+]?([0-9]*\.)?[0-9]+) ([-+]?([0-9]*\.)?[0-9]+) [-+]?([0-9]*\.)?[0-9]+/) {
if ($sLine =~ m/^([-+]?[0-9]*\.?[0-9]+)\s+([-+]?[0-9]*\.?[0-9]+)\s+([-+]?[0-9]*\.?[0-9]+)\s+([-+]?[0-9]*\.?[0-9]+)\s+$/ ) {
my $x = $1;
my $y = $2;
my $z = $3;
my $myString = sprintf("%.4f", $y);
$dataOut .= "$myString ";
$rowPoints++;
if ($rowPoints >= $sizeX) {
$dataOut .= "\n";
$rowPoints = 0;
}
$numPoints++;
}
}
#close OUT;
close IN;
#print "Num points: $numPoints \n";
print $dataOut;
Initial URL
Initial Description
Scans a file for a series of floating point numbers separated by spaces.
Initial Title
Scan file for Floating point numbers with regex
Initial Tags
regex, file
Initial Language
Perl