#!/usr/bin/perl
##
## ricercaseq.pl <elemento-cercato> <valore>...
##
#
# &ricercaseq (<lista>, <elemento>, <inizio>, <fine>)
#
sub ricercaseq
{
    #
    # Il primo argomento è un riferimento all'array, per cui
    # lo scalare $lista diventa il nuovo riferimento locale
    # all'array.
    # Per leggerlo come array occorre la forma @$lista, mentre
    # per leggerne un elemento occorre la forma ${$lista}[n].
    #
    local ($lista) = $_[0];
    local ($x) = $_[1];
    local ($a) = $_[2];
    local ($z) = $_[3];
    #
    local ($i);
    #
    for ($i = $a; $i <= $z; $i++)
      {
        if ($x == ${$lista}[$i])
          {
            return $i;
          }
      }
    #
    # La corrispondenza non è stata trovata.
    #
    return -1;
}
##
## Inizio del programma.
##
$x = $ARGV[0];
@lista = @ARGV[1 .. $#ARGV];
#
$i = &ricercaseq (\@lista, $x, 0, $#lista);
#
print "L'elemento $x si trova nella posizione $i\n";
#
