User since
2007-12-19
9
Artikel
BenutzerIn
hi,
ich will dateien kopieren (und nein, dazu möchte ich kein modul nehmen).
bei text dateien lesse ich also zeilenweise ein und gebe zeilenweise aus.
aber zum beispiel bei pdf's geht das nich so gut, es kommt also nur müll raus.
ich hab auch ein bisschen mit binmode() und versch. E/A-Schichten rumprobiert, aber das hat auch nicht geklappt.
kann mir jemand einfach erklären, wie ich nicht-text-datein (pdf, wav) kopieren kann?
danke
prcy
User since
2006-05-20
533
Artikel
BenutzerIn
schau dir mal sysread und syswrite an, ein aehnliches problem hatte ich beim verschluesseln von bildern, den quelltext haenge ich dir unten einfach mal dran.
MfG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
sub crypto {
my $file = shift;
my $action = shift;
my $op = $action eq 'encrypt' ? '>' : '<';
my $suffix = $action eq 'encrypt' ? '.aes' : '';
my $fh;
open($fh, "$op:via(PerlIO::via::CBC)", "$file$suffix");
if ($action eq 'encrypt') {
open(SOURCE, '<', $file) or die $!;
print $fh $_ while(sysread(SOURCE, $_, 1024));
close SOURCE;
} else {
open PLAIN, '>', "$file.jpg" or die $!;
print PLAIN <$fh>;
close PLAIN or die $!;
}
close $fh;
return 1;
}
1;
Pörl.
User since
2003-08-04
12208
Artikel
Admin1
pracetzy+2008-01-10 20:29:58--ich will dateien kopieren (und nein, dazu möchte ich kein modul nehmen).
bei so einer aussage solltest du immer dazusagen, warum. wenn es zum lernen ist, ok.
ansonsten kannst du beruhigt
File::Copy verwenden, denn es wird seit 5.2
bei perl mit ausgeliefert.
User since
2003-08-21
2614
Artikel
ModeratorIn
pracetzy+2008-01-10 20:29:58--bei text dateien lesse ich also zeilenweise ein und gebe zeilenweise aus.
aber zum beispiel bei pdf's geht das nich so gut, es kommt also nur müll raus.
ich hab auch ein bisschen mit binmode() und versch. E/A-Schichten rumprobiert, aber das hat auch nicht geklappt.
Könntest Du diese Aussagen mit etwas Code untermalen? sysread/syswrite wären wohl geeignet. Muss man aber nicht verwenden, man kann auch print und <$fh> nehmen, zusammen mit binmode und $/=\$blockgroesse.
Aber im Grunde bin ich für tinitas Antwort: Was spricht gegen File::Copy?