in reply to reading all files in a dir

How about using a glob instead?

my @jpg = <*.jpg>;
Or maybe Find::File::Rule?
my @file = File::Find::Rule ->file() ->name( '*.jpg' ) ->in( '.' ) ;

jeffa

L-LL-L--L-LL-L--L-LL-L--
-R--R-RR-R--R-RR-R--R-RR
B--B--B--B--B--B--B--B--
H---H---H---H---H---H---
(the triplet paradiddle with high-hat)