map { reduce { system qq( ln "$a" "$b" ); $b } @$_ } grep { @$_ > 1 } partition_by_comparison_function { ! system qq( cmp -s "$a" "$b" ) } grep { @$_ > 1 } partition_by_calculated_key { qx( sum "$_" ) } grep { @$_ > 1 } partition_by_calculated_key { -s $_ } [ grep { ! -l $_ } grep { ! -d $_ } @files ]