I feel you are mixing up arrays, slices and scalars a bit.
This is a slice and not an array element: @buschecked
i
However:
foreach $bus (reverse sort @busdir)
{
$splbus = split (/_/, $bus, 1);
if ($today >= $splbus)
{
$buschecked++;
}
}
assuming I got what you wanted to do. But as it looks now it might then be easier to use the
Schwartzian Transform.
Have a nice day
All decision is left to your taste