Counting layers
use lib './' ;
use CSV_PP 'csv';
my $employees = csv ({ in => *STDIN, key => "posnum"});
my $levels = 0 ;
my $message = qq{Please see Section 5.1 of the Directive.\n} ;
for (sort keys %$employees) {
do {
print "$_ ";
$_ = $employees->{$_}{"supposnum"};
$levels++;
} while defined ;
$levels--;
print $levels == 1 ? "--- $levels level" : "--- $levels levels" ;
print $levels > 3 ? "\nYou have $levels layers. $message" : "\n" ;
$levels = 0 ;
}INFO