hi, es gibt da mehrere möglichkeiten:
1: mit File::Copy
use File::Copy;
copy($oldfile, $newfile);
2: alles selber machen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
open(IN, "< $oldfile") or die "can't open $oldfile: $!";
open(OUT, "> $newfile") or die "can't open $newfile: $!";
$blksize = (stat IN)[11] || 16384; # preferred block size?
while ($len = sysread IN, $buf, $blksize) {
if (!defined $len) {
next if $! =~ /^Interrupted/; # ^Z and fg
die "System read error: $!\n";
}
$offset = 0;
while ($len) { # Handle partial writes.
defined($written = syswrite OUT, $buf, $len, $offset)
or die "System write error: $!\n";
$len -= $written;
$offset += $written;
};
}
close(IN);
close(OUT);
3: mit systembefehlen
system("cp $oldfile $newfile"); # unix
system("copy $oldfile $newfile"); # dos
hilft das?
gruß math55