in reply to calling an exe and its input and target files
Inside "double quotes", the "\" character (which is the 'escape' character) needs to be escaped, using "\\".
So, your foreach should read:
This shows the mixing of a variable with a path, answering your first question.foreach(@files) { system("c:\\midicsv\\midicsv.exe", "c:\\midicsv\\newmidi\\$_", "c:\ +\midicsv\\newcsv\\$_") }
For renaming files, you need to separate the pieces of the name, and replace the last piece.
This is typically done using regular expressions, but you can also use "split".
Here is a simplified example of replacing a trailing "csv" with "mid":
my $file = "C:\\temp\\somefile.csv"; my $midfile = $file; # copy it $midfile =~ s/\.csv$/.mid/i;
"By three methods we may learn wisdom: First, by reflection, which is noblest; Second, by imitation, which is easiest; and third by experience, which is the bitterest." -Confucius
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: calling an exe and its input and target files
by amateur_programmer54 (Initiate) on Nov 12, 2012 at 07:34 UTC |
In Section
Seekers of Perl Wisdom