Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]9375[/thread]

Perl und die Community: wieso weshalb warum (Seite 5)

Leser: 1


<< |< 1 2 3 4 5 6 7 >| >> 63 Einträge, 7 Seiten
esskar
 2004-12-15 20:08
#87333 #87333
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[quote=pq,15.12.2004, 18:18]wieso nicht?[/quote]
???
ptk
 2004-12-16 14:40
#87334 #87334
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
@esskar: Erklaer's mal uns Unix-Leuten. Ich dachte immer, die Shebang-Zeile wird von perl auf allen Betriebssystemen interpretiert.
Ronnie
 2004-12-16 15:49
#87335 #87335
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
win32 interessiert sich nicht für die #! Zeile. perl beachtet aber gesetzte Flags und der apache emuliert das unix-shell verhalten und sucht den perl-interpreter an angegebener stelle.

EDIT1: Leeres Quote entfernt.\n\n

<!--EDIT|Ronnie|1103206246-->
renee
 2004-12-16 15:58
#87336 #87336
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=Ronnie,16.12.2004, 14:49][...]und der apache emuliert das unix-shell verhalten und sucht den perl-interpreter an angegebener stelle.[/quote]
kann man aber - soweit ich weiß - auch ausschalten/umgehen...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
esskar
 2004-12-16 16:50
#87337 #87337
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[quote=renee,16.12.2004, 14:58]auch ausschalten/umgehen...[/quote]
ja; was sogar sinnvoll ist
unter windows liegt perl meist in c:\perl\bin
dies wird es unter unix aber nie geben, wodurch man in windows einfach auch #!/usr/bin/perl stehen lässt und die registry entscheiden lässt, wo perl nun liegt.

Und das ist auch der Springendepunkt. Ist es nicht so, dass nicht perl die erste Zeile interpretiert, sondern die shell?
Die erfährt doch über die erste Zeile, wo das binary liegt. und die parameter hinter #!/usr/bin/perl sind einfach parameter von perl, die die shell mit übergibt.
Ich denke nur, dass perl unter windows selber die erste Zeile interpretiert und dann noch ein paar Schalter umlegt. Im Gegensatz zu unix, kann ich aber auch genauso gut den shebang unter windows komplett weg lassen, und die sache läuft immer noch. Umgekehrt muss das script unter unix auch nicht die endung .pl haben

Oder irre ich mich jetzt völlig?
pq
 2004-12-16 18:15
#87338 #87338
User since
2003-08-04
12209 Artikel
Admin1
[Homepage]
user image
[quote=esskar,16.12.2004, 15:50]Ich denke nur, dass perl unter windows selber die erste Zeile interpretiert und dann noch ein paar Schalter umlegt.[/quote]
ganz genau. das ist aber ein unterschied zu "wird ignoriert".
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
esskar
 2004-12-16 18:25
#87339 #87339
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[quote=pq,16.12.2004, 17:15]ganz genau. das ist aber ein unterschied zu "wird ignoriert".[/quote]
hab es ja oben auch schon zugegeben
Crian
 2004-12-16 18:32
#87340 #87340
User since
2003-08-04
5875 Artikel
ModeratorIn
[Homepage]
user image
Unter Unix wird die Shebang sowohl von der Shell als auch von Perl interpretiert.
(Und unter Windows nur von Perl, wie schon gesagt wurde.)\n\n

<!--EDIT|Crian|1103214859-->
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
ptk
 2004-12-16 18:34
#87341 #87341
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Uebrigens werden auch bei perl unter Unix immer die Optionen interpretiert. Beweis:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
$ cat /tmp/test.pl 
#!/usr/bin/perl -w
$x = $y + 1; # sollte eine Warnung werfen

$ /tmp/test.pl
Name "main::y" used only once: possible typo at /tmp/test.pl line 2.
Name "main::x" used only once: possible typo at /tmp/test.pl line 2.
Use of uninitialized value in addition (+) at /tmp/test.pl line 2.

$ /usr/bin/perl /tmp/test.pl
Name "main::y" used only once: possible typo at /tmp/test.pl line 2.
Name "main::x" used only once: possible typo at /tmp/test.pl line 2.
Use of uninitialized value in addition (+) at /tmp/test.pl line 2.

Beim ersten Aufruf wird die Shebang-Zeile verwendet, beim
zweiten nicht, trotzdem gibt es noch immer Warnungen.
Strat
 2004-12-16 18:38
#87342 #87342
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
von woher kommt eigentlich die Warnung
... too late for -T ....
oder so aehnlich? (habe ich bisher nur unter Windows gesehen)
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
<< |< 1 2 3 4 5 6 7 >| >> 63 Einträge, 7 Seiten



View all threads created 2004-05-08 17:59.