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!
In reply to Reading Multiple Input Files by BoulderBuff64
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |