Thank you all for replays, but you are wrong :)
Here is some bug. It work only with full path.
I perform some test. Here is the code:
#!/usr/bin/perl
use strict;
use File::Find;
use Cwd;
print "++ With relative path ++\n";
find(\&f, ".");
print "\n++ With current working directory module ++\n";
find(\&f, cwd);
sub f
{
my $file = $File::Find::name;
print $file . ":\n";
if (-f $file) { print "---- ist Datai\n"; }
else { print "---- ist nicht eine Datei!!!\n"; }
}
Here are the commands:
[andrey@andreys-comp testdir]$ ls -l innerdir/
total 4
-rw-rw-r-- 1 andrey andrey 0 Jun 18 22:02 innertestfile
[andrey@andreys-comp testdir]$ ./test.pl
++ With relative path ++
.:
---- ist nicht eine Datei!!!
./test.pl:
---- ist Datai
./testfile:
---- ist Datai
./innerdir:
---- ist nicht eine Datei!!!
./innerdir/innertestfile:
---- ist nicht eine Datei!!!
++ With current working directory module ++
/home/andrey/testdir:
---- ist nicht eine Datei!!!
/home/andrey/testdir/test.pl:
---- ist Datai
/home/andrey/testdir/testfile:
---- ist Datai
/home/andrey/testdir/innerdir:
---- ist nicht eine Datei!!!
/home/andrey/testdir/innerdir/innertestfile:
---- ist Datai
ist Datei: is file
ist nicht eine Datei: is not file (I just like German :) )
Put your attension that in first method ./innerdir/innertestfile not determined as file, rather than in second.