$_ =~ /.*?;(.*?);.*/;
Hierbei solltest Du angeben, daß die Zeichen zwischen den ; keine ; sein dürfen. Im Moment läßt Du alles zu, weswegen der Ausruck bei mehr als drei ; nicht funktionieren würde.
$_ =~ /[1]+;([^;]+);[^;]/;
So kreigst Du immer den zweiten Abschnitt, da auch noch der Anfang gesetzt ist und es kann nach dem 3. Abschnitt noch mehr kommen.
Viele Grüße
Sasha
^; ↩︎