If

heidi

If ? z ang. ?jeśli? jest instrukcja języka perl dzięki której możemy sprawdzić czy jakiś warunek jest prawdziwy czy fałszywy . Najlepiej zobrazować to przykładem :

if (warunek) {
	#jeżeli warunek jest spełniony 
	#wykonaj sie instrukcje zawarte miedzy nawiasami klamrowymi
}

Drugim przykładem użycia instrukcji if jest konstrukcja if else .Czyli mówiąc krótko jeżeli warunek jest spełniony wykonaj instrukcje jeżeli nie wykonaj inne instrukcje.
Dla zobrazowania przykład:

if (warunek) {
	#jakies instrukcje
} else {
	#inne instukcje
}

Czasami jednak chcieli byśmy sprawdzić czy "Czy jest prawdziwe? Jeśli nie, to może to jest? A może jednak to?"
Oczywiście można to zrobić stosując taką konstrukcje :

if (warunek) {
	#jakieś instrukcje
} else {
	if (warunek drugi ) {
            	#jakieś instrukcje
            } else {
            	if (warunek trzeci ) {
            		#jakieś instrukcje
            	} else {
			#jeżeli żaden warunek nie został spełniony
		}
	}
} 

Ale taka konstrukcja jest mało czytelna i łatwo o pomyłkę.
Znacznie lepszym rozwiązaniem w takim wypadku jest konstrukcja if elsif else .
A wygląda ona tak :

if (warunek) {
	#jakieś instrukcje
} elsif (warunek drugi) {
	#jakies instrukcje
} elsif (warunek trzeci) {
	#jakieś instrukcje
} else {
	#jeżeli żaden warunek nie został spełniony
}

Od razu widać że tak jest lepiej, wszystko staje sie czytelniejsze i wiadomo co w danym momencie sie dzieje .

Przydał by się jakiś praktyczny przykład jak to wygląda w prawdziwym programie a oto i on :

#!/usr/bin/env perl

my $pierwsza = 12; 
my $druga = 5;

if ($pierwsza == $druga) {
	print "$pierwsza jest równe $druga \n";
} elsif ($pierwsza < $druga) {
	print "$pierwsza jest mniejsze niż $druga \n";
} elsif ($pierwsza > $druga) {
	print "$pierwsza jest większe niż $druga \n ";
}

W perlu wyznawana jest zasada ze wszystko można zrobić na kilka sposobów i tutaj posłużę sie przykładem jak można jeszcze używać instrukcji if.
Dla wyjaśnienia defined służy np. Do sprawdzania czy dana zmienna jest zdefiniowana.

my $zmienna = 4;


if (defined $zmienna) {
       print $zmienna; #jeżeli $zmienna posiada jakąś 
                              #wartość ten tekst zostanie wyświetlony
}

#a można to tez zapisać tak :

print $zmienna if defined $zmienna;

Na początku drugi zapis może wydawać sie dziwaczny ale jest to tylko kwestią czasy zeby sie z nim oswoić. Perl dostarcza rożnych udogodnień i skotów ponieważ programiści to zazwyczaj leniwe stworzenia.

1 komentarz

Spoko porada, czekam na następne arty :)