Text Formatting and Date Strings
Fixed Date Labels
Build a deterministic month label from fixed scalar values.
fixed-date-labels
Fixed date labels avoid current-clock and locale dependencies.
Fixed Date Labels
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";
$month ← 4, $day ← 9
11my $month→ 4 = 4; #@month=1, 1212my $day→ 9 = 9;13my $label = sprintf("%s %02d, 2026", month_name($month4), $day9);$month ← 4
4sub month_name {5 my ($month→ 4) = @_;6 return "Jan" if $month4 == 1;7 return "Dec" if $month == 12;return "Dec" if $month == 12;
6return "Jan" if $month == 1;7return "Dec" if $month4 == 12;8return "Apr";return "Apr";
7 return "Dec" if $month == 12;8 return "Apr";9}$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
$month ← 1, $day ← 9
11my $month→ 1 = 1;12my $day→ 9 = 9;13my $label = sprintf("%s %02d, 2026", month_name($month1), $day9);$month ← 1
4sub month_name {5 my ($month→ 1) = @_;6 return "Jan" if $month1 == 1;7 return "Dec" if $month == 12;$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
$month ← 12, $day ← 9
11my $month→ 12 = 12;12my $day→ 9 = 9;13my $label = sprintf("%s %02d, 2026", month_name($month12), $day9);$month ← 12
4sub month_name {5 my ($month→ 12) = @_;6 return "Jan" if $month12 == 1;7 return "Dec" if $month == 12;return "Dec" if $month == 12;
6return "Jan" if $month == 1;7return "Dec" if $month12 == 12;8return "Apr";$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