Penso che basti un indice che cresce insieme al ciclo foreach.

cioè:
my $index=0;
foreach $buf (@alfa) {
if ($buf==1) {
print "beta corrisponde a $beta[$index]\n";
}
$index++;
}

Credo, non so se funziona con array con i buchi.
Ossia:
my @vettore;
$vettore[10000]="primo valore";
Non so se il foreach ti parte da zero fino a 10000 oppure va subito a 10000, in caso fai delle prove.
Poi dipende anche dal tuo caso.