PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ich hasse if's :-(



Chakotay
07-07-2006, 11:52
hab im perl-script nen teil der gucken soll ob ne bestimmte datei da ist oder nicht
wenn die datei da ist soll er den einen befehl ausführen (hier:IRC:: print("\"$filename\""); )
wenn die datei nicht da ist nen anderen (hier:IRC:: print("\"Datei nicht gefunden\""); )

das mit dem nach ner datei suchen und wenn ja den ersten befehl auszuführen funktioniert schon prima


sub suche_nach_popup_conf
{
use File::Find;
find(\&wanted, $HOME);
}

sub wanted {
if (/popup.conf/) {
$filename=$_;
IRC::print("\"$filename\"");
}
}

leider hab ich keine ahnung wie der zweite teil aussehen muss damit er dem zweiten befehl ausführt wenn die datei nicht da ist :-(

bin für jede hilfe dankbar :-)

RAHUL
07-07-2006, 12:00
Ich bin nur blutiger Anfänger, aber warum nicht mit "else"?

MfG
Rahul

Chakotay
07-07-2006, 12:42
das hat er aus irgendeinem mir unbekannten grund nicht angenommen

baumgartner
07-07-2006, 13:01
if (/string/) {
print "hoho" ;
} else{
print "false"
}

michael.sprick
07-07-2006, 13:20
Für sowasw solltest Du einen ganz normalen Dateitest benutzen...



my $Filename = "$HOME/popup.conf";
if( -e $Filename)
{
IRC::print("\"$Filename\"");
}
else
{
IRC::print("\"Die Datei \"$Filename\" wurde nicht gefunden!\"");
}


Vorsicht mit Sachen wie:


sub wanted {
if (/popup.conf/) {
...
}


Zwischen den beiden '/' in der IF-Bedingung steht ein regulärer Ausdruck. Der Punkt hat eine Sonderbedeutung, daher muss er maskiert werden, wenn er Teil des Patterns sein soll. Ansonsten steht er für jedes beliebige Zeichen....


if (/popup\.conf/) {
...
}

Chakotay
07-07-2006, 13:42
jo
so funktioniert alles :-)

danke für die schnelle hilfe *freu*