in reply to Re: I have a few questions
in thread I have a few questions

Hi !!!
For example in these script csv2xls1.pl
when I need to convert a csv to xls i need to do these
csv2xls1.pl infile.csv outfile

but I can leave blank the outfile and it will use the same file name
can you show me how to use do
for these script?
thanks

Replies are listed 'Best First'.
Re^3: I have a few questions
by tachyon-II (Chaplain) on Jan 11, 2008 at 01:51 UTC

    Not tested

    use strict; my $dir = "C:/some/dir"; my $script = "C:/path/to/csv2xls1.pl"; my @files = glob("$dir/*.csv"); for my $file (@files) { print "Processing $file ....."; my $ret_val = system( $script, $file ); print ret_val == 0 ? "OK\n" : "Not OK\n"; } print "Done!\n";
      Thanks !!!! It work fine!!!
      Thanks!!!! But if you can and have time, can you look at my question of trying to put this script inside the other one? thanks!!!

        I'll assume you are not kidding. You see the loop in the short script that calls system? Well if you put the perl code of the csv2xls script in there what do you think will happen?

        Although you could put all the code in that loop that is very bad programming form. The best way to do it is to wrap the csv2xls functionality into a sub and simply replace the system call with a call to the sub.

        use strict; my $dir = "C:/some/dir"; my @files = glob("$dir/*.csv"); for my $file (@files) { print "Processing $file ....."; my $ret_val = convert( $file ); print ret_val == 0 ? "OK\n" : "Not OK Err: $ret_val\n"; } print "Done!\n"; sub convert { my $file_to_convert = shift; # csv2xls code goes here # return 0 if conversion works OK # return error message if conversion fails }