in reply to Re: Using perl for creating project folders
in thread Using perl for creating project folders

At home I use WindowsXP for developing - the linux box is in my office. On Windows it works fine, of course chmod is silently ignored. I've just calculated it and 0775d is 1407o, thats ugly. I must test it under linux, to remove the bugs.

I got it!

#!/usr/bin/perl use strict; use warnings; use XML::Simple; die "No parameters - no folders!" unless (@ARGV >= 1); my ($project, $comment) = @ARGV; $_ =~ s/\W//g for ($project, $comment); # do some basic validation $project .= "_$comment" if ($comment); # add a comment if exists my $schema = get_schema(); my $base_dir = '.'; chdir $base_dir or die "Can't chdir to $base_dir: $!\n"; mkdir $project; chmod oct($schema->{root}->{rights}), $project; # no effect on win32 print $schema->{root}->{rights}, "\n"; chdir $project or die "Can't chdir to $project: $!\n"; mkdir $_ for (@{$schema->{root}->{folder}}); exit; sub get_schema { # returns schema.xml if it exists, else defaults. -e 'schema.xml' ? XMLin('schema.xml') : { root => { rights => '0775', folder => [ 'correspondence', 'photos', 'drafts', 'charts', ] } }; }
You need to explicit oct the rights for chmod.

Thank you!