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 |
# | 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 | } |