hola.
i know why your script does not work.
it is not "system", not cp, not the other program that is used.
tho the advice pertaining to these is good, they are not the culprit. the culprit is
readdir
here is why.
the first two 'files' returned by readdir are "." and "..".
when you use readdir, you should probably do something like:
@fils = grep { -f $dirname . $_ } readdir DIR;
as it is, you start with .
you increment m after a failed cp:
you go on to the second file, .., and increment m again
and before you know it, your counter has reached the limit
at which your do loop is broken out of.
if you use the construct above, all will be well.
best wishes,
...wufnik
-- in the world of the mules there are no rules --