my @prev; local($\, $,) = ("\n", " "); while() { my($date, $time, @current) = split " "; if(@prev) { print $date, $time, map { $current[$_] - $prev[$_] } 0 .. $#current; } @prev = @current; } __DATA__ 02/02/2007 00:00:00 719267027 719244316 719233953 719240015 02/03/2007 00:00:00 720375777 720336674 720325633 720329849 02/04/2007 00:00:00 721640280 721640267 721522690 721552815 02/05/2007 00:00:00 722297206 722297203 722297203 722297206 #### 02/03/2007 00:00:00 1108750 1092358 1091680 1089834 02/04/2007 00:00:00 1264503 1303593 1197057 1222966 02/05/2007 00:00:00 656926 656936 774513 744391