PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : immer noch mein erstes Script



lord.paddington
15-04-2007, 13:46
warum erzeugt



#! /usr/bin/perl;
print "Hallo Welt";


folgende Ausgabe?



dl85hej@wohnzimmer:~/Documents/Programme/Perl$ ./HalloWelt
Warning: unknown mime-type for "Hallo Welt" -- using "application/*"
Error: no such file "Hallo Welt"
dl85hej@wohnzimmer:~/Documents/Programme/Perl$


Die Datei 'HalloWelt' ist in ihren Eigenschaften ausführbar.

bischi
15-04-2007, 14:35
#! /usr/bin/perl;
print 'Hallo Welt';


Und so?

MfG Bischi

rais
15-04-2007, 17:21
Moin moin,




#! /usr/bin/perl;


darf hier eigentlich ein Leerzeichen stehen?
MfG,

bischi
15-04-2007, 17:29
wieso nicht? ist doch ein Kommentar ;-)

MfG Bischi

lord.paddington
15-04-2007, 18:52
Hallo!

Also:

ein Printausdruck in ' ' anstatt " " bringt keine Änderung

Das Leerzeichen spielt auch keine Rolle.

Die Fehlermeldung

Warning: unknown mime-type for "Hallo Welt" -- using "application/*"
Error: no such file "Hallo Welt"
deutet worauf hin?

- Muss ich einen Path definieren?
- Benötigt die Datei eine Endung? Wenn ja, welche?

peschmae
15-04-2007, 20:56
Ich würde mal das ; in der ersten Zeile wegnehmen. Das ist normalerweise nicht da - und bei mir zumindest funktioniert das Zeugs auch nur ohne das ;, auch wenn die Fehlermeldung nicht dieselbe ist wie die die du kriegst (meine sagt das logische "bad interpreter" oder so)

Dateierweiterung solltest du eigentlich nicht benötigen - .pl ist aber recht üblich für Perlscripts...

MfG Peschmä

buffer_7
15-04-2007, 21:09
Hi,

also ich hab den Fehler reproduzieren können, allerdings nur wenn der Startaufruf falsch ist.
Der Fehler kommt bei mir nur, wenn ich das Skript nicht aufrufe, sondern in die Shell einsource.


/tmp$: . holla
Warning: unknown mime-type for "Hallo Welt" -- using "application/*"
Error: no such file "Hallo Welt"

hoffe das hilft, weil der Code is sauber (bis auf das ; in der ersten Zeile)

mfg
buffer_7

lord.paddington
15-04-2007, 22:10
ich starte das Scipt in der Konsole mit ./HalloWelt

Was ist daran falsch?

lord.paddington
15-04-2007, 22:17
teilweise wird geschrieben, dass auch noch ein chmod durchgeführt werden muss


chmod +x script.sh

buffer_7
15-04-2007, 22:51
wie heißt das Skript genau, was steht genau drinnen, wo is Dein perlbinary und wie rufst Du es wo genau auf?
Wie gesagt, ich hab den Fehler nur dann erhalten, wenn ich das Skript eingesourced hab.

Der Fehler kann nur "pebkac" sein.

mfg
buffer_7

lord.paddington
16-04-2007, 05:45
mein Script heißt:

HalloWelt

und liegt in /home/dl85hej/Documents/Programme/Perl

ich rufe es auf in der Konsole mit

dl85hej@wohnzimmer:~/Documents/Programme/Perl$ ./HalloWelt


der Inhalt des Scriptes lautet:



#!/usr/bin/perl -w
print 'Hallo Welt';


Ich fahre Ubuntu 6.0.6 Dapper und perl liegt in /usr/bin

lord.paddington
16-04-2007, 05:49
ich habe den Fehler gefunden!



# Kommentare beginnen mit einem Lattenzaun
# Perl - Programme werden nicht kompiliert, sondern interpretiert.
# die erste Zeile zeigt auf den Pfad des Interpreters (fuer alle Unix - basierten Betriebssysteme)
# die Option -w geniert Warnmeldungen beim Interpretieren


Nachdem ich den Kommentar herausoperiert habe, macht perl den gwünschten Ausdruck!

Es kam also erst der Kommentar und dann erst die Shebang - Zeile


Danke für eure Hilfe!