Schrift
[thread]7415[/thread]

activestate perl in windows - @ARGV geht nicht: @ARGV enthlt keine übergebenen Parameter

Leser: 2


<< |< 1 2 >| >> 14 Einträge, 2 Seiten
kann_kein_perl
 2005-11-01 11:57
#59496 #59496
User since
2005-10-28
5 Artikel
BenutzerIn
[default_avatar]
Hallo,

Danke für die Hinweise auf meinen letzten Beitrag, ich hab' jetzt ein neues Problem, wo ich mir aber sicher bin, dass es auf Unix/Linux funktioniert aber im Win-Perl nicht... :

Code: (dl )
1
2
3
4
foreach $tmp (@ARGV)
{
print"Uebergebene Parameter: $tmp\n";
}


Ergebnis:

Wenn ich das Programm mit C:\test.pl Param_1 Param2 starte, werden die Parameter nicht ausgegeben, ja sie werden nicht mal in @ARGV aufgenommen.
Hat schon jemand das gleiche Problem gehabt ?

viele Grüsse
Thomas
jan
 2005-11-01 12:45
#59497 #59497
User since
2003-08-04
2536 Artikel
ModeratorIn
[Homepage] [default_avatar]
wie genau startest du das script? im command-prompt? mit doppelklick?

welche perl-version hast du?
smallish
 2005-11-01 13:13
#59498 #59498
User since
2005-10-13
28 Artikel
BenutzerIn
[default_avatar]
Vielleicht findest du hier was:
http://board.perl-community.de/cgi-bin....;t=1910
pKai
 2005-11-01 13:16
#59499 #59499
User since
2005-02-18
357 Artikel
BenutzerIn
[default_avatar]
[quote=kann_kein_perl,01.Nov..2005, 10:57]Hat schon jemand das gleiche Problem gehabt ?[/quote]
Ja, vor Jahren unter WinNT4 mit Perl 5.6.1, habe aber die genauen Umstände damals nicht analysiert.
Welches Win benutzt du, mit welcher Perl-Version?
Workaround sollte sein, das Skript per
Code: (dl )
perl skript.pl param1 param2
aufzurufen.
I sense a soul in search of answers.
kann_kein_perl
 2005-11-01 15:14
#59500 #59500
User since
2005-10-28
5 Artikel
BenutzerIn
[default_avatar]
Die Vorgeschlagene Lösung funktioniert !:

Code: (dl )
1
2
3
4
5
C:\perl test.pl param1 param2
Uebergebene Parameter: param1
Uebergebene Parameter: param2

C:\


Wenn ich's aber nur mit:
Code: (dl )
C:\test.pl param1 param2


...aufrufe, dann wird's nichts.

Also die File-Associations stimmen:

Code: (dl )
1
2
3
4
5
6
7
C:\assoc .pl

.pl=Perl

C:\ftype Perl

Perl="C:\Perl\bin\Perl.exe" "%1" %*
(Der Angegebene Perl-Pfad stimmt auch)

Aufrufen tue ich das Programm unter WinXP Prof. über die command-line(cmd). Die Activestate-Perl-Version ist 5.8.7.813.
Vielleicht handelt XP das mit den aufrufen aus der Command line anders - who knows ?

viele Grüsse
Thomas
GwenDragon
 2005-11-01 16:28
#59501 #59501
User since
2005-01-17
14761 Artikel
Admin1
[Homepage]
user image
Unter XP soll das anders laufen? Hmm. Ist doch auch nur ein Derivat von 2000.

Oder gibt es da ein Sicherheitsfeature im SP2, das sowas verhindert?
[E|B]
 2005-11-01 19:27
#59502 #59502
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
[quote=GwenDragon,01.11.2005, 15:28]Unter XP soll das anders laufen? Hmm. Ist doch auch nur ein Derivat von 2000.

Oder gibt es da ein Sicherheitsfeature im SP2, das sowas verhindert?[/quote]
Aus welchem Grund sollte es das?
Gruß, Erik!

s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}

It's not a bug, it's a feature! - [CGI-World.de]
pKai
 2005-11-01 21:12
#59503 #59503
User since
2005-02-18
357 Artikel
BenutzerIn
[default_avatar]
[quote=kann_kein_perl,01.Nov..2005, 14:14]Vielleicht handelt XP das mit den aufrufen aus der Command line anders - who knows ?[/quote]
Grundsätzlich nicht:
Code: (dl )
1
2
3
D:\Temp>test.pl p1 p1
Uebergebene Parameter: p1
Uebergebene Parameter: p1

bei
Code: (dl )
1
2
3
D:\Temp>perl -v

This is perl, v5.6.1 built for MSWin32-x86-multi-thread

Etwas ältlich, aber bin hier grad zu Besuch...
Aber wichtiger:
Code: (dl )
1
2
D:\Temp>perl -e "print join ','=>Win32::GetOSVersion()"
Service Pack 2,5,1,2600,2

Also XP SP2.
Ist XP Home, aber mir ist das Problem, wie erwähnt unter XP noch nie begegnet, und ich arbeite in der Arbeit praktisch nur mit XP prof. und Server 2K3.
I sense a soul in search of answers.
GwenDragon
 2005-11-01 21:22
#59504 #59504
User since
2005-01-17
14761 Artikel
Admin1
[Homepage]
user image
Wie sehen denn die Regsitry-Einträge unter Command Processor aus?
So sollte es z. B. sein:
Quote
[HKEY_CURRENT_USER\Software\Microsoft\Command Processor]
"CompletionChar"=dword:00000040
"EnableExtensions"=dword:00000001
"PathCompletionChar"=dword:00000040
und unter :

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor]
"CompletionChar"=dword:00000040
"EnableExtensions"=dword:00000001
"PathCompletionChar"=dword:00000040
vayu
 2005-11-03 13:10
#59505 #59505
User since
2005-01-13
782 Artikel
BenutzerIn
[default_avatar]
bei mir funktioniert es auch wunderbar:

Quote
C:\Dokumente und Einstellungen\Desktop>ausgabe.pl p1 p2
Uebergebene Parameter: p1
Uebergebene Parameter: p2

C:\Dokumente und Einstellungen\Desktop>perl -e "print join ','=>Win32::
GetOSVersion()"
Service Pack 1,5,1,2600,2,1,0,256,1
<< |< 1 2 >| >> 14 Einträge, 2 Seiten



View all threads created 2005-11-01 11:57.