Build a deterministic month label from fixed scalar values.

fixed-date-labels Fixed date labels avoid current-clock and locale dependencies.

Fixed Date Labels

month
fixed_date_labels.pl
Replay: real traced execution (multi-file project)
use strict;
use warnings;

sub month_name {
    my ($month) = @_;
    return "Jan" if $month == 1;
    return "Dec" if $month == 12;
    return "Apr";
}

my $month = 4;
my $day = 9;
my $label = sprintf("%s %02d, 2026", month_name($month), $day);

print "month=$month\n";
print "day=$day\n";
print "label=$label\n";
use strict;
use warnings;

sub month_name {
    my ($month) = @_;
    return "Jan" if $month == 1;
    return "Dec" if $month == 12;
    return "Apr";
}

my $month = 1;
my $day = 9;
my $label = sprintf("%s %02d, 2026", month_name($month), $day);

print "month=$month\n";
print "day=$day\n";
print "label=$label\n";
use strict;
use warnings;

sub month_name {
    my ($month) = @_;
    return "Jan" if $month == 1;
    return "Dec" if $month == 12;
    return "Apr";
}

my $month = 12;
my $day = 9;
my $label = sprintf("%s %02d, 2026", month_name($month), $day);

print "month=$month\n";
print "day=$day\n";
print "label=$label\n";
  1. $month ← 4, $day ← 9

    11my $month→ 4 = 4; #@month=1, 1212my $day→ 9 = 9;13my $label = sprintf("%s %02d, 2026", month_name($month4), $day9);
  2. $month ← 4

    4sub month_name {5    my ($month→ 4) = @_;6    return "Jan" if $month4 == 1;7    return "Dec" if $month == 12;
  3. return "Dec" if $month == 12;

    6return "Jan" if $month == 1;7return "Dec" if $month4 == 12;8return "Apr";
  4. return "Apr";

    7    return "Dec" if $month == 12;8    return "Apr";9}
  5. $label ← Apr 09, 2026

    12my $day = 9;13my $label→ Apr 09, 2026 = sprintf("%s %02d, 2026", month_name($month4), $day9);1415print "month=$month4\n";16print "day=$day9\n";17print "label=$labelApr 09, 2026\n";
    outputmonth=4
    day=9
    label=Apr 09, 2026
  1. $month ← 1, $day ← 9

    11my $month→ 1 = 1;12my $day→ 9 = 9;13my $label = sprintf("%s %02d, 2026", month_name($month1), $day9);
  2. $month ← 1

    4sub month_name {5    my ($month→ 1) = @_;6    return "Jan" if $month1 == 1;7    return "Dec" if $month == 12;
  3. $label ← Jan 09, 2026

    12my $day = 9;13my $label→ Jan 09, 2026 = sprintf("%s %02d, 2026", month_name($month1), $day9);1415print "month=$month1\n";16print "day=$day9\n";17print "label=$labelJan 09, 2026\n";
    outputmonth=1
    day=9
    label=Jan 09, 2026
  1. $month ← 12, $day ← 9

    11my $month→ 12 = 12;12my $day→ 9 = 9;13my $label = sprintf("%s %02d, 2026", month_name($month12), $day9);
  2. $month ← 12

    4sub month_name {5    my ($month→ 12) = @_;6    return "Jan" if $month12 == 1;7    return "Dec" if $month == 12;
  3. return "Dec" if $month == 12;

    6return "Jan" if $month == 1;7return "Dec" if $month12 == 12;8return "Apr";
  4. $label ← Dec 09, 2026

    12my $day = 9;13my $label→ Dec 09, 2026 = sprintf("%s %02d, 2026", month_name($month12), $day9);1415print "month=$month12\n";16print "day=$day9\n";17print "label=$labelDec 09, 2026\n";
    outputmonth=12
    day=9
    label=Dec 09, 2026