Moin,
ich hab zwar dein Problem nicht genau verstanden, aber grundsätzlich gilt doch:
if (bedingung){
//Block wird ausgeführt, wenn bedingung == true
}
else{
//Block wird ausgeführt, wenn bedingung == false
}
Was du nun in deinem Block hast, ist dann ja egal.
Und wenn es ein foreach sein soll, dann sehe ich das Problem nicht.
Kenn mich allerdings mit Perl nicht aus, wüsste aber nichts was dagegen sprechen würde...
MfG,
Juan