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

chmod befehl und perl skript



<< >> 4 Einträge, 1 Seite
gma
 2007-06-02 12:09
#77190 #77190
User since
2007-06-02
7 Artikel
BenutzerIn
[default_avatar]
Hallo miteinander,

als völliger Anfänger habe ich derzeit in mehreren Zusammenhängen Probleme, in Perl-Skripten Eingaben über die Befehlszeile abzufragen.

Ich benutze ein iBook G4 unter Mac OS X 10.4.8

Problem:

das einfachste denkbare  Skript lautet:

Code: (dl )
1
2
3
4
5
6
# the getlines program

while ( $line = <> )
{
   print $line;
}


das funktioniert.

Jetzt versuche ich es ausfürbar zu machen:

chmod u+x getlines.pl

und versuche es so zu starten:

./getlines.pl

mit der Fehlermeldung:

Code: (dl )
1
2
./getline.pl: line 3: syntax error near unexpected token `)'
./getline.pl: line 3: `while ( $line = <> )'



Komisch, oder?

Was ist hier falsch?

gma

Code-Tags von betterworld\n\n

<!--EDIT|betterworld|1180806259-->
Ronnie
 2007-06-02 12:18
#77191 #77191
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
Am Anfang des Programms muss folgendes stehen:
Code: (dl )
#!/usr/bin/perl

sonst weiß die Bash nicht was sie da eigentlich ausführen soll. Unabhängig davon ist die Verwendung von use strict; und use warnings; zu empfehlen.
gma
 2007-06-02 13:51
#77192 #77192
User since
2007-06-02
7 Artikel
BenutzerIn
[default_avatar]
vielen Dank!!! jetzt geht es.


gma
bloonix
 2007-06-02 15:27
#77193 #77193
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
[quote=gma,02.06.2007, 10:09]Was ist hier falsch?[/quote]
Wenn du das Skript ohne Shebang starten möchten, dann musst du den
Interpreter davor setzen. Zum Beispiel

Code: (dl )
perl getlines.pl


Sowas kann recht nützlich sein, wenn man sein Skript mit verschiedenen
Versionen testen möchte. Beispiel:

Code: (dl )
1
2
3
/usr/bin/perl5.8.8 getlines.pl
/usr/local/bin/perl5.6.4 getlines.pl
/home/user/bin/perl5.6.0 getlines.pl
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.
<< >> 4 Einträge, 1 Seite



View all threads created 2007-06-02 12:09.