What do you know about subroutines? Because it looks like you're asking how to pass any argument to a subroutine, in which case, you may want to read perlsub. Anyway, you declare your subroutine like this:
sub myRepeatedCode
{
my ($day, $argument2, $argument3) = @_;
# Do something with $day
}
and you just call like:
myRepeatedCode($day, "argument2", 3);
But actually in your case, instead of "if today do something, if tomorrow same thing, if some other day still the same" you could actually write something like "if today, tomorrow or some other day, do something", which avoids the code repetition in the first place. To check that one of several conditions is met, you can put an OR operator between them. Or is often written || in most languages, but in perl in can also be written or.
if ($va eq 'today' || $va eq 'tomorrow' || $va eq 'friday')
{
DoSomething();
}
The difference between || and or is their precedence, see perlop on that point.