[Tech] domanda ultraspicciola

Cosimo Vagarini cosimo@firenze.linux.it
Mar 27 Feb 2001 23:19:12 CET


Leonardo Boselli scrisse, il 27-Feb-2001
> (quasi da primi passi)
> Quale e`il comando che mi confronta, in perl due stringhe e mi dice 
> se
> i primi n e gli ultimi m caratteri delle due stringhe sono uguali, case 
> insensitive ?
> { ossia in C
> result=strnicmp(s,t,n)*strnicmp(s+strlen(s)-m,t+strlen(s)-m,m) ;
> }

Esempio 1/4.256:

$n=3;
$m=-2; # Negativo!
if (uc(substr($s1,0,$n)) eq uc(substr($s2,0,$n)) &&
    uc(substr($s1,$m)) eq uc(substr($s2,$m))) {
  <...>
}

Esempio 2/4.256:
$n=3;
$m=2; # Non piu' negativo!
uc($s1)=~ /^(.{$n}).*(.{$m})$/ && ($s1s=$1) && ($s1e=$2) || die "s1 insuff.";
uc($s2)=~ /^(.{$n}).*(.{$m})$/ && ($s2s=$1) && ($s2e=$2) || die "s2 insuff.";
if ($s1s eq $s2s && $s1e eq $s2e) {
  <...>
}

Vado avanti? :)

Cosimo.





Maggiori informazioni sulla lista flug-tech