package Filecontrol; @ISA = qw(Exporter); @EXPORT_OK = qw(get_files get_files_graubold get_files_h4); use strict; use warnings; use File::Find; sub get_files { my $directory = shift; opendir (DIR, $directory) or die "couldn't open directory: $directory"; my @myfiles; my @directories_to_search = ("$directory"); find( sub { if ( is_html_type_file($_) && ! ($File::Find::dir =~ m!(\\|/)includes$!i) ) { push @myfiles, $File::Find::name; } }, @directories_to_search); return @myfiles; } sub is_html_type_file { my $file = shift or die "no file"; my $is_html_type_file; if ( ( $file =~ /\.s?html?$/i ) && ! ( $file =~ /\.backup\.before/i ) ) { $is_html_type_file = 1; } return $is_html_type_file; } #.... and on and on.....