Operatori de comparaţie pentru şiruri

78

            Pentru comparaţia şirurilor există o serie de operatori specifici. Ei sunt listaţi în tabelul următor.

Operator

Operaţie

Operatorul numeric echivalent

lt

Less than

<

gt

Greater than

>

eq

Equal to

==

le

Less than or equal to

<=

ge

Greater than or equal to

>=

ne

Not equal to

!=

cmp

Comparison returning 1, 0, or -1

<=>

             Programul care urmează (tst5.pl)

#!/usr/local/bin/perl
$in=<STDIN>;
chop($in);
if ($in < 5){
print($in,' este mai mic decat 5',"\n");
}
if ($in > 5){
print($in,' este mai mare decat 5',"\n");
}
if ($in == 5){
print($in,' este egal 5',"\n");
}
if ($in lt "bau"){
print($in,' este mai mic decat bau',"\n");
}
if ($in gt "bau"){
print($in,' este mai mare decat bau',"\n");
}
if ($in eq "bau"){
print($in,' este egal bau',"\n");
}

returnează la consolă

b
b este mai mic decat 5
b este mai mic decat bau

dacă am introdus b, şi returnează

bau
bau este mai mic decat 5
bau este egal bau

dacă am introdus bau, şi

c este mai mic decat 5
c este mai mare decat bau

dacă s-a introdus c. Evident ordinea şirurilor se referă la ordinea alfabetică a secvenţelor introduse. Adică baui este mai mare decât bau, la fel ca şi bau_, sau chiar bau .

© Cornel Mironel Niculae, 2003-2004

13-Nov-2009