You could use
grep, like this
foreach(grep ! /^\.{1,2}$/, readdir(PRINT)){
#do work
}
but it loops through the list twice, which may be a little inefficient, so you could use
glob which removes the . and .. automatically.
my $dir = '/path/to/dir';
foreach(glob('$dir/*')){
#do work
}
I prefer using
glob().
As for retrieving all but the first 2 elements of the list, it is a little akward, so you could assign them into an array and do this
my @array = readdir(PRINT);
foreach(@array[2..$#array]){
#do work
}