Hallo,
die Variable $article enthält einen Wert und sonst gar nix. Und eine regex-Suche durchsucht den Variableninhalt und liefert Werte zurück - sonst nix.
Das Problem muß da woanders liegen.
Ich verstehe auch überhaupt nicht, was Du da mit den Schleifen willst. Aber solltest Du damit alle Vorkommnisse des gesuchten Patterns aus dem $article nach @bild oder @zeit herausschälen wollen, ist ein Konstrukt wie
push @bild, $article =~ m/<IMG SRC="(.*?)"/>/g;
und
push @zeit, $article =~ m/<!--1-->(.*?)<!--2-->/g;
sicherlich einfacher; solltest Du aber wirklich nur maximal $artikelzahl zulassen wollen, kannst Du ja die Arrays nachher entsprechend kürzen
zB: $#bild = ($artikelanzahl-1)
Ich hoffe, das hilft Dir weiter
Manfred