[quote=joa,17.Mar..2005, 15:22]
foreach (@inhalt =~ /ausdruck/) {
   - speichere die Position von $_
   - speichere n Elemente vor und nach $_
    (dazu brauche ich eben den Index)    } 
[/quote]
Wenn die Position nur für die Manipulation verwendet werden soll und nachher nicht mehr benötigt wird (ändert sich durch Einfügen davor ja auch noch, zumindest im Ergebnis),
dann vielleicht auch als  "One"-liner  ohne jegliche Bestimmung der Position(en)  ;) 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use strict;
use warnings;
my @vor = qw(a b c);
my @nach = qw(x y z);
my @Liste = qw(7 6 5 4 3);
my $re = qr(^6$);
my @Neu = map {
    /$re/
    ?
    (@vor, $_, @nach)
    :        
    ($_)
} @Liste;
print @Neu, $/;
 
Edit: Editier-Artefakte bereinigt\n\n
<!--EDIT|pKai|1111091176-->
I sense a soul in search of answers.