for my $fileindex (0..$#filenames) { $next{$filenames[$fileindex]} = $filenames[$fileindex + 1]; $prev{$filenames[$fileindex]} = $filenames[$fileindex - 1]; } delete($prev{$filenames[0]}); delete($next{$filenames[-1]});