Maybe you could give
Date::Manip a try.
The following code
#!/usr/bin/perl
use strict;
use warnings;
use Date::Manip;
Date_Init("ConfigFile=/tmp/Manip.cnf");
my $name1 = Date_IsHoliday( '2010-02-15');
print "$name1\n";
would print
Washington's Birthday
"out of the box", and the holidays to remember are easily configurable for your own needs.
Just take care to copy Manip.cnf from the test suite within the installation bundle to a convenient place.