Umesh T G <mailto:[EMAIL PROTECTED]> wrote:
: It is not copying the files, though there is no error printed on : screen. :( It looks like you are not using warnings and strict. That pretty much stops most errors from going to the screen. Your problem *may* be in @src. In perl, the file separator is "/", not "\". "\" is an escape character. Change the array to reflect perl's path structure. According to the File::Copy docs: <quote> All functions return 1 on success, 0 on failure. $! will be set if an error was encountered. </quote> See the code below for an example. : my array contains all the source file names like this : : "..\..\..\AlgSource\ISA\C64x\asm\idct_8x8_c64xplus_h.asm" : "..\..\..\AlgSource\ISA\C64x\asm\jpegdec_ti_vld_n_mcu.asm" : "..\..\..\AlgSource\ISA\C64x\C\byte_unstuff.c" : "..\..\..\AlgSource\ISA\C64x\C\dc_pred_comp.c" Change this to: '../../../AlgSource/ISA/C64x/asm/idct_8x8_c64xplus_h.asm', '../../../AlgSource/ISA/C64x/asm/jpegdec_ti_vld_n_mcu.asm', '../../../AlgSource/ISA/C64x/C/byte_unstuff.c', '../../../AlgSource/ISA/C64x/C/dc_pred_comp.c', : Now, I want to copy all these files into a new dir D:\newsrc\ The copy() function you are using requires two file names. The second argument has to be a file name and file path, not a directory name. To extract the file name from a path above use the File::Basename module. : I tried like this, : : : Use File::Copy : : $newpath="D:\\newsrc\\"; my $newpath = 'D:/newsrc/'; : foreach $source (@src) foreach my $source (@src) : { : print "COpying $source to $newpath \n"; : copy ("$source","$newpath"); Don't quote variables needlessly. You need to code something which will add a file name to $newpath. Always check I/O operations for success. copy( $source, "$newpath$filename" ) or die qq(Cannot copy "$source" to "$newpath$filename": $!); HTH, Charles K. Clarkson -- Mobile Homes Specialist 254 968-8328 -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>