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

# User Rev Content
1 williamc 1.1 package AddDir;
2 williamc 1.2 require 5.001;
3 williamc 1.1 require Exporter;
4     use Cwd;
5     @ISA = qw(Exporter);
6 williamc 1.3.2.1 @EXPORT = qw(adddir copydir);
7    
8 williamc 1.1
9 williamc 1.3 sub adddir {
10 williamc 1.1 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 williamc 1.3.2.1 }
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 williamc 1.1 }