Thread Wie findet das Perlscript meinen Ordner!?
(15 answers)
Opened by lin at 2010-09-27 20:31
if ($#ARGV < 0) { ist mir zu umständlich. Ich würde so prüfen:unless(@ARGV) {
Außerdem würde ich anstatt den Scriptnamen selber rein zu schreiben $0 verwenen, dann kann man auch das Script umbenennen oder über einen Link aufrufen und bekommt immer die richtige Fehlermeldung. Man kann auch die verwenden um das Programm abzubrechen. Das hat den Vorteil, dass man den Code eventuell auch über eval starten kann und dann nur der das eval abgebrochen wird. Wenn es um Dateinamen geht kann man das auch etwas anders schreiben: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 #!/usr/bin/perl use strict; use warnings; use HTML::TokeParser; my $file = shift(@ARGV) or die "Usage: '$0 <filename>'\n"; my $p = HTML::TokeParser->new($file) or die "Can't open: '$ile' ($!)\n"; ... Das funktioniert weil ein Dateiname selten die zahl '0' ist, allso ein String, der nicht als "unwahr" interprtiert wird. Wenn nichts in @ARGV ist $file=undef und damit "unwahr" der Teil hinter dem or wird ausgeführt. Bei komplexeren Sachen würde ich Getopt::Long nutzen Last edited: 2010-09-29 11:39:31 +0200 (CEST) |