Hi,
ohne konkreten Code ist da schwer zu helfen.
^ steht normalerweise für den Stringanfang. Wenn Du den Modifier /m angibst, dann steht ^ für den String- bzw. Zeilenanfang.
$ perl -wle ' $a = "a\nb"; print $1 while $a =~m/^(.)/g'
a
$ perl -wle ' $a = "a\nb"; print $1 while $a =~m/^(.)/gm'
a
b
http://perldoc.perl.org/perlretut.html
Hast Du bedacht, dass WinDOS andere Zeilenumbrüche verwendet als Linux.
Möglicherweise liegt Dein Problem darin begründet?
Linux: \x0a
WinDOS: \x0d\x0a
Wenn Dein Regex entsprechend geschrieben wurde, kann es sein, dass das \x0d des WinDOS Umbruchs Dir hier in die Suppe spuckt.
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!