On Jun 19, 2009, at 11:44, Harry Putnam <rea...@newsguy.com> wrote:

"Chas. Owens" <chas.ow...@gmail.com> writes:

On Fri, Jun 19, 2009 at 09:35, Harry Putnam<rea...@newsguy.com> wrote:
How to manage a recursive chown using perl function chown?

Do I have to employ something like File::Find to recursively chown a
directory heirarchy.  Or maybe opendir and readdir...

Or is there some simpler way?
snip

Whenever you want to walk a directory tree you should think of [File::Find][1]:

find(
   sub {
       chown 100, 100, $_
           or die "could not chown '$_': $!";
   }
   "/directory/to/chown"
);

Does something else need to be done at "/directory/to/chown"?

Or maybe I'm managing to get something wrong even in that short code.
(Note I've tried adding a semi-colon at that line but doesn't help)
#!/usr/local/bin/perl

use strict;
use warnings;
use File::Find;

my $uid = '1001';
my $gid = '1005';

find(
   sub {
       chown $gid, $uid, $_ or die "could not chown '$_': $!";
   }
   "/cvsbX/"
);

outputs:

String found where operator expected at ./chown line 14, near
""/cvsbX/""
       (Missing semicolon on previous line?)
syntax error at ./chown line 14, near ""/cvsbX/""
Execution of ./chown aborted due to compilation errors.


--
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/



Whoops, I missed a comma after the sub {}.

--
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/


Reply via email to