@dead = grep { ! defined( $keep{$_} ) && ( -d $file ? rmdir : unlink ) && $_ } @files; #### @dead = grep { ! defined( $keep{$_} ) && ( ( -d $file ? rmdir : unlink ) || $_ ) } @files; #### @dead = grep { ! defined( $keep{$_} ) && ( ( -d $file ? rmdir : unlink ) || "$_:$!" ) } @files;