foreach $a (@NewPicList) { chomp($a); $a =~ s/^\s+//; if (grep(/$a\s+$/, @OldPicList)) { } else { push @NewPicFolders, "$a"; } } foreach $b (@NewPicFolders) { open (RD, "ls -l /dir1/dir2/dir3/'$b' |"); binmode RD, ':encoding(UTF-8)'; while () { push @user_dir, $_; } close(RD); s{^\s+|\s+$}{}g foreach @user_dir; foreach $fileline (@user_dir) { @filenames = split(/\s+/,$fileline, 9); unless (@filenames[8] eq "") { $filenames[8] =~ s/\s+/_/g; push @PicList, "$filenames[8]\n"; } } print "PICLIST: @PicList"; open(FH, '>', "/dir1/dir2/dir3/$b.folder") or die $!; print FH "@PicList"; close FH; @PicList = (); @user_dir = (); @filenames = (); }