highly accurate progress bar for perl