#!/usr/bin/env perl use strict; use warnings; use File::Find::Rule; use Data::Dump; use Try::Tiny; use feature qw(say); my @dirs = qw(./logs); my @files = File::Find::Rule->file()->name('*.log')->exec( \&acme )->in(@dirs); dd \@files; sub acme { say shift; try { ...; } catch { print $_; }; } __END__ karls-mac-mini:dotowwxo karl$ ./dotowwxo.pl dotowwxo1.log Unimplemented at ./dotowwxo.pl line 19. dotowwxo10.log Unimplemented at ./dotowwxo.pl line 19. dotowwxo2.log Unimplemented at ./dotowwxo.pl line 19. dotowwxo3.log Unimplemented at ./dotowwxo.pl line 19. dotowwxo4.log Unimplemented at ./dotowwxo.pl line 19. dotowwxo5.log Unimplemented at ./dotowwxo.pl line 19. dotowwxo6.log Unimplemented at ./dotowwxo.pl line 19. dotowwxo7.log Unimplemented at ./dotowwxo.pl line 19. dotowwxo8.log Unimplemented at ./dotowwxo.pl line 19. dotowwxo9.log Unimplemented at ./dotowwxo.pl line 19. dotowwxo1.log Unimplemented at ./dotowwxo.pl line 19. dotowwxo10.log Unimplemented at ./dotowwxo.pl line 19. dotowwxo2.log Unimplemented at ./dotowwxo.pl line 19. dotowwxo3.log Unimplemented at ./dotowwxo.pl line 19. dotowwxo4.log Unimplemented at ./dotowwxo.pl line 19. dotowwxo5.log Unimplemented at ./dotowwxo.pl line 19. dotowwxo6.log Unimplemented at ./dotowwxo.pl line 19. dotowwxo7.log Unimplemented at ./dotowwxo.pl line 19. dotowwxo8.log Unimplemented at ./dotowwxo.pl line 19. dotowwxo9.log Unimplemented at ./dotowwxo.pl line 19. [ "logs/bar/dotowwxo1.log", "logs/bar/dotowwxo10.log", "logs/bar/dotowwxo2.log", "logs/bar/dotowwxo3.log", "logs/bar/dotowwxo4.log", "logs/bar/dotowwxo5.log", "logs/bar/dotowwxo6.log", "logs/bar/dotowwxo7.log", "logs/bar/dotowwxo8.log", "logs/bar/dotowwxo9.log", "logs/foo/dotowwxo1.log", "logs/foo/dotowwxo10.log", "logs/foo/dotowwxo2.log", "logs/foo/dotowwxo3.log", "logs/foo/dotowwxo4.log", "logs/foo/dotowwxo5.log", "logs/foo/dotowwxo6.log", "logs/foo/dotowwxo7.log", "logs/foo/dotowwxo8.log", "logs/foo/dotowwxo9.log", ]