Klaus Mock: system() unter Win32

Beitrag lesen

Hallo,

system("copy A:/pfad/$filename c:/pfad/");

system('copy', "a:/pfad/$filename", "c:/pfad/*.*");

die einzelnen Parameter sollten in einzelnen Strings stehen. Das ist die korrektere Anwendung von system.

Ist eigentlich so oder so möglich.

PS: Ich hätte gerne noch Backslashes gemacht, aber ich wusste und weiss noch immer nicht, wie man die auf dem Mac macht ;)
Es funktioniert aber auch mit den "normalen" Slashes.

Da mit System ein externes Programm aufgerufen wird, wird dadurch die Perl-Welt verlassen. Ab diesem Zeitpunkt sind System-Konventionen zu beachten.
Daher müssen die Slashes (/) durch Backslashes() ersetzt werden, was allerings dazu führt, daß es unter Windows

system('copy', "a:\pfad\$filename", "c:\pfad\*.*");

heißen muß.

Alternativ läßt sich natürlich auch das Perl-Modul File::Copy einsetzen, allerdings muß man sich das mit den Wildcards dabei abschminken. Aber dafür gibt es ja auch noch Module;-)

Grüße
  Klaus