BoulderBuff64 has asked for the wisdom of the Perl Monks concerning the following question:
I wrote a script that takes a large data set (~30k points) and pulls out meaningful info to graph with GNUPlot. It works really well when I want to graph one file at a time. Below is the striped down version of the code.
I need to do this for a bunch of files. I would like to designate each file path at the top and then have the code run through for each file. I tried using a matrix but it didn't seem to work with the 'foreach' command.
So, What is the best way to run the same script on multiple files?
# Columns to be written to the output file and Plotted. $c1 = 4; # X-Axis $c2 = 16; # Y-Axis $c3 = 11; # Z-Axis # Single file to be Opened $file1 = '../filename.asc'; open(Read, $file1); @Read = <Read>; # Read file into an array # Visit each text line in turn and write data in specific column to ar +ray foreach $part (@Read) { $part =~ s/ /:/g; @Row = split(/:+/, $part); push(@Write, "$Row[$c1]\t"); push(@Write, "$Row[$c2]\t"); push(@Write, "$Row[$c3]\n"); } # Creates the plotted data file writeFile_ref ("PlottedData.txt", \@Write); close(Read); # Opens GNUPlot and Creates Plots open(G, "|/usr/local/bin/gnuplot") or die "/usr/local/bin/gnuplot"; print G <<ENDOFHERE set term x11 splot 'PlottedData.txt' ENDOFHERE
Please and Thank You!
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Reading Multiple Input Files
by CountZero (Bishop) on May 27, 2011 at 20:31 UTC | |
by BoulderBuff64 (Novice) on May 27, 2011 at 22:32 UTC | |
by Old_Gray_Bear (Bishop) on May 27, 2011 at 23:24 UTC | |
by CountZero (Bishop) on May 28, 2011 at 07:18 UTC | |
by Anonymous Monk on May 28, 2011 at 08:55 UTC | |
by CountZero (Bishop) on May 28, 2011 at 11:30 UTC | |
by Anonymous Monk on May 27, 2011 at 23:24 UTC |