my($year,$month,$day,$hour,$min) = (localtime)[5,4,3,2,1];
my $str = "1/23 12:34";
my($strmonth,$strday,$strhour,$strmin) = $str =~ m|([0-9]+)/([0-9]+) ([0-9]+):([0-9]+)|;
if (
  sprintf('%02d%02d%02d%02d',$strmonth,$strday,$strhour,$strmin)
  gt
  sprintf('%02d%02d%02d%02d',$month+1,$day,$hour,$min)
) {
  printf("%04d/%02d/%02d %02d:%02d\n",1900+$year-1,$strmonth,$strday,$strhour,$strmin);
}
else {
  printf("%04d/%02d/%02d %02d:%02d\n",1900+$year,$strmonth,$strday,$strhour,$strmin);
}
# 基本に忠実に。応用はそれから