Bienvenido a los foros de Perl en Español, angelluigi.
Es un problema algo complejo, ya que hay que recordar las posiciones que vamos encontrando, con el valor mínimo.
Using perl Syntax Highlighting
#!/usr/bin/env perl
use v5.20;
my @array = map { 10 + int rand 90 } 1 .. 100;
#say "@array";
my @posiciones_minimo;
my $valor_minimo = 10E10;
while(my($i, $valor) = each @array) {
if ($valor_minimo > $valor) {
$valor_minimo = $valor;
@posiciones_minimo = ();
}
if ($valor_minimo == $valor) {
push @posiciones_minimo, $i;
}
}
say "Mínimo encontrado: $valor_minimo";
say "Posiciones en las que se encuentra: @posiciones_minimo";
__END__
Coloreado en 0.002 segundos, usando
GeSHi 1.0.8.4
Una posible ejecución:
Using text Syntax Highlighting
$./kk.pl
Mínimo encontrado: 10
Posiciones en las que se encuentra: 43 59 90
Coloreado en 0.000 segundos, usando
GeSHi 1.0.8.4
Bueno, al final, no es tan complejo... con apenas 5 líneas principales lo resolvemos.
La explicación del funcionamiento te lo dejo como deberes para casa.
Naturalmente, se puede hacer de otras formas.