in reply to error in copy folder recursively

use strict; use warnings; use File::Copy; use File::Basename; use Cwd; use Data::Dumper; use File::Copy::Recursive; my $source_dirrtl = ("$newpath"."/rtl"); my $target_dirrtl1 = ("$newpath"."/rtl1"); mkdir($target_dirrtl1,0777); opendir(my $DIRRTL1, $source_dirrtl) || die "can't opendir $source_dir +rtl: $!"; my $cp = File::NCopy->new(recursive => 1); my $cp->copy("$source_dirrtl/*",$target_dirrtl1) or die "couldnt copy +$source_dirrtl to $target_dirrtl1);

...

Can't locate File/copy/recursive.pm in @INC <@INC contains C:/Perl/site/lib C:/Perl/lib .) at newperlfile2.pl line 9

There are at least three fishy things here:

  1. The usual error message uses "(" in front of the second @INC, but your error message has "<" there.
  2. The code you posted has use File::Copy::Recursive;, but the error message looks like the code was use File::copy::recursive;.
  3. The error message states that the problematic use is in line 9, but line 9 of your posted code is my $source_dirrtl = ("$newpath"."/rtl");. use File::Copy::Recursive; is in line 7.

Please post the actual code and the actual error message. Don't type, use copy-and-paste!

Also note that perl is case sensitive, even when Windows is not. There is a big difference between "use foo::bar;" and "use Foo::Bar;" for Perl, even if both load a file named "Foo/Bar.pm" from somewhere in your module search path (@INC). Always use the module name as it is documented in the module's documentation.

Alexander

--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)