ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/SCRAM/src/Utilities/AddDir.pm
Revision: 1.3.2.1
Committed: Wed Apr 19 14:04:54 2000 UTC (25 years, 1 month ago) by williamc
Content type: text/plain
Branch: V0_9branch
CVS Tags: BuildSystemProto1, V0_18_0, V0_18_0model, V0_17_1, V0_18_0alpha, V0_17_0, V0_16_4, V0_16_3, V0_16_2, V0_16_1, V0_16_0, V0_15_1, V0_15_0, V0_15_0beta, V0_14_0, V0_12_12_4, V0_12_12_3, V0_13_3, V0_13_2, V0_12_12_2, V0_12_12_1, V0_12_12_0, PlayGround_0, V0_13_1, V0_13_0, V0_12_12, V0_12_11, V0_12_9b, V0_12_10, V0_12_9, V0_12_8, V0_12_7, V0_12_6, V0_12_5, V0_12_4, V0_12_3, V0_12_2, V0_12_1, V0_12_0
Branch point for: V0_17branch, V0_16branch, V0_15branch, HPWbranch
Changes since 1.3: +27 -1 lines
Log Message:
copy from defelopment area

File Contents

# Content
1 package AddDir;
2 require 5.001;
3 require Exporter;
4 use Cwd;
5 @ISA = qw(Exporter);
6 @EXPORT = qw(adddir copydir);
7
8
9 sub adddir {
10 my $indir=shift;
11 my $startdir=cwd;
12 my @dir=split /\//, $indir;
13
14 if ( $indir=~/^\// ) {
15 chdir "/";
16 shift @dir;
17 }
18 umask 02;
19 foreach $dirname ( @dir ) {
20 next if ( $dirname eq "" );
21 if ( ! -e $dirname ) {
22 mkdir ( $dirname , 0775) ||
23 die "cannot make directory ".$dirname." $!\n";
24 print $i." ".$dirname."\n" if $debug;
25 }
26 chdir $dirname;
27 }
28 chdir $startdir;
29 }
30
31 sub copydir {
32 my $src=shift;
33 my $dest=shift;
34
35 use DirHandle;
36 use File::Copy;
37
38 #print "Copying $src to $dest\n";
39 adddir($dest);
40 my $dh=DirHandle->new($src);
41 my @allfiles=$dh->read();
42
43 my $file;
44 foreach $file ( @allfiles ) {
45 next if $file=~/^\.\.?/;
46 if ( -d $src."/".$file ) {
47 copydir($src."/".$file,$dest."/".$file);
48 }
49 else {
50 copy($src."/".$file,$dest."/".$file)
51 }
52 }
53 undef $dh;
54 }