use File::Find::ARGV filter=>sub { /\.txt/i }; while (<>){ ... }