#! /usr/bin/perl while (<>) { if (/^(|-+)$/) { next; } elsif (/^(\S.*) - (.*@.*)$/) { # print "[" . $1 . "]\n"; open FH, 'date -u +"* %a %b %d %Y" -d "' . $1 . '" |'; while () { chomp; print $_ . " - " . $2 . "\n"; } close FH; next; } elsif (/(- | +)(?!\s)/) { print; } else { print STDERR "Syntax error in line $. of changelog:\n$_\n"; exit 1; } }