Thread Wie findet das Perlscript meinen Ordner!?
(15 answers)
Opened by lin at 2010-09-27 20:31 2010-09-29T10:45:15 lin Nicht dass ein Missverständniss aufkommt. Diese Zeile: Code (perl): (dl
)
my $file = shift(@ARGV) or die "Usage: '$0 <filename>'\n" macht folgendes: Definiere eine Variable "$file", hole aus "@ARGV" das erste Argument. Wenn das Ergebnis dieser Aktion "Falsch" (in diesem Fall 'undef' oder '0') sein sollte so führe die "Usage: '$0 <filename>'\n" aus. "die" Lässt das Programm mit einer Fehlermelung ("Usage: '$0 <filename>'\n") sterben. Der "Zauber" ist hier das "or". Das logische 'oder' verhält sich in perl so, dass der zweite Teil nur ausgeführt wird wenn der erste teil ein 'falsch' zurück gibt ist der Teil aber 'wahr', so ist bei einem logischen 'oder' egal ob der zweite Teil 'wahr' oder 'falsch' ist, die Gesammtaussage ist immer wahr. Ich hoffe das war jetzt nicht zu verwirrend. 2010-09-29T10:45:15 lin Keine Eindeutige Formulierung. Ich kann jetzt nicht genau sagen was du wissen willst. Willst du wissen wie man eine Datei schreibend öffnet, oder wie man ein Datei allgemein öffnet, oder wie man eine Datei zum Dateinamen findet, oder wie man aus einer Pfadangabe eine absolute Pfadangabe macht, oder wie man eine Pfadangabe als solchen erkennt? Bitte spezefiziere dein Problem am besten mit einem Codebeispiel. 2010-09-29T10:45:15 lin Du kannst die Dateien und programm hinlegen wo es dir beliebt, solange du die Pfade zu den Dateien kennst. (als Anmerkung: mit "Pfadname", oder "Pfad" wird der Dateiname zusammen mit er Ordnerstruktur gemeint. Also Dateiname: "test.txt", Pfadname: "/home/lin/perl_scripte/script1/test.txt") 2010-09-29T10:45:15 lin Für einen anfänger ist es von Vorteil ein Verzeichnis in seinem home-Verzeichnis anzulegen (z.B.: "/home/lin/scripte") und darin für jedes Script einen eigenen Ordner (z.B.: "/home/lin/scripte/test_http_parse"). darin kannst du alles legen was das Script braucht. und auch die Scriptversionen und andere Tests darin unterbringen. Ich zumindest halte es so dass ich wenn ein script einigermaßen Funktioniert, ein 'backup' davon mach indem ich mit einem etwas anders benannten Scriptnamen weiter mache. ('test.0.pl' => 'test.1.pl' => 'test.2.pl'). Alle Scripte '.pl' scripte in einem Ordner mache ich mit chmod u+x *.pl ausführbar. (man kann dann './test.0.pl' schreiben anstatt 'perl ./test.0.pl') 2010-09-29T10:45:15 lin Siehe dazu auch Getopt::Long Das übernimmt für dich das parsen der komandozeilenoptionen (Die stehen in "@ARGV") |