#! /usr/bin/env perl use v6; use fatal; # or is this default? die "usage: $*PROGRAM_NAME " unless @*ARGS == 1; chdir @*ARGS[0]; my @files = grep { $_ ne '.'&'..' } readdir '.'; loop (my $i = 0; @files; $i++) { mkdir $i; rename $_, "$i/$_ for splice @files, 0, 1000; }