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.
Spoko porada, czekam na następne arty :)