#!/usr/bin/perl use strict; use warnings; my $dir_alt = 'C:\Users\alt'; my $dir_neu = 'C:\Users\neu'; my %files_alt = read_dir_files($dir_alt); my %files_neu = read_dir_files($dir_neu); my %files_all=(%files_alt,%files_neu); my @new; for my $file (keys(%files_all)) { next if($files_alt{$file} && $files_neu{$file}); push(@new,$file); } print join("\n",@new)."\n"; ############################################################ sub read_dir_files { my $dir=shift; opendir(my $dh, $dir) or die("Error opendir $dir ($!)\n"); my @files=grep { -f "$dir/$_" } readdir($dh); closedir($dh); return map {$_ => 1} @files; }