http://qs321.pair.com?node_id=859026


in reply to Re: re-syncing these subtitles
in thread re-syncing these subtitles

The $? variable is not relevant in this context. You should be using either $! or $^E.

Oh yes, it's always quite easy to mix these up :)

You are using the /g global option in a scalar context, which would make sense in a while loop, but the value of $_ changes each time you test it so it makes no sense to use it there.

Well, same as above : quick and dirty script hastily thrown together, not too much testing...

Why not just: my ( $hours, $minutes, $seconds ) = split /:/, $time;

Because I want that if you pass only one value, it defaults to seconds, and to minutes:seconds with only two values.

An unnecessary step as the numbers are already numerical.

It's a cautionary cleanup in case you're passing garbage as parameters. it will at least avoid mangling hopelessly the output :)

The number before the period in the format string for floating point is the total width.

I think you missed the "d" there :). Edit : Well I don't know what's the right form, but "%02.3f" apparently works as intended... ""%05.3f" adds 4 leading zeros.