Hallo Perl-Spezialisten,
in einem Text habe ich viele Zeitangaben in spitzen Klammern in Millisekunden, z.B. '<123456789>'. Diese wollte ich alle in Stunden:Minuten:Sekunden.Millisekunden, d.h. z.B. '(34:17:36.789)' umwandeln. Dabei wäre
xxx = Millisekunden
hh = (int(xxx/3600000))
mm = int((xxx - hh * 3600000)/60000)
ss = int((xxx - hh * 3600000 - mm * 60000)/60000)
nnn = xxx % 1000
Wenn man das nun alles ineinander einsetzt, ergibt sich ein sehr langer Ausdruck. Der Einfachheit und Übersicht halber im Folgenden mal nur auf die Extraktion von Stunden und Millisekunden reduziert. Ich hoffte, dass der folgende oder so ähnliche Code mit den Flags 'gse' die Ersetzung erledigen würde.
my $Text =~ s!<(\d+)>!\(int($1/3600000):mm:ss\.$1%1000\)!gse
Das funktioniert leider so nicht. Sobald ich $1 mehrfach verwende gibt's eine Fehlermeldung.
Wer kann mir auf die Sprünge helfen? Danke, Theo.