Witam, mam pewien problem, a dokładnie w 1 miejscu (kawałek dalej jest podobny kod i działa) nie działa instrukcja if/else. Tak wygląda kod:
sub List {
if( open( IN, "/var/www/text.xx" ) ){
while( ){
my($linia) = $_;
chomp;
print "- x$linia
";
if ($linia == "#!/usr") {
print "- To jest /usr
";
} elsif ($linia == "#!/var") {
print "- To jest /var
";
} else {
print "- Ani to ani to
";
}
}
close( IN );
}
}
Nie ważne czy powinno się wykonać if/elsif/else cały czas wyświetla:
więc tylko i wyłącznie działa if, a dalej już nie chce iść
Jest to plugin do panelu ISPmanager. Kawałem dalej mam taki kod:
sub New {
$elid = $Q->param( "elid" );
$item = $Q->param( "item" );
if ($item == "1") {
if( open( ADD, ">/var/www/text.xx" ) ){
print ADD "#!/usr";
close( ADD );
print "";
} else {
print "Item hasn`t been added";
}
} elsif ($item == "2") {
if( open( ADD, ">/var/www/text.xx" ) ){
print ADD "#!/var";
close( ADD );
print "";
} else {
print "Item hasn`t been added";
}
} else {
print "UPS! Nic nie wiem. ";
}
}
który działa prawidłowo natomiast ten pierwszy już nie chce. Z góry dziękuje za pomoc bo już próbowałem na kilka sposobów i zawsze to samo.
Edit:
Heh... Człowiek tak napiszę na forum i nagle coś do głowy wpadnie
zamieniłem na
i działa. W perlu pierwszy raz piszę i mam przyzwyczajenia z BASH'a. Teraz już będę wiedział że
a