use warnings; use strict; use Path::Class qw/file dir/; my $PATH = dir('.'); $PATH->recurse( callback => sub { my $file = shift; return if $file->is_dir || -B $file; my $fh = $file->open('<:raw') or return; read $fh, my $content, 2000 or return; close $fh; print $content; } );