#!/usr/bin/env perl use 5.010; use strict; use warnings; my @list = "a" .. "zz"; my @disk_list = qw(foo bar baz); my @new_list = @list[ 0 .. $#disk_list ]; map { say } @new_list; #### sub build_disk_list { my $self = shift; my $disk_names = shift; my @letters = 'a' .. 'zz'; my @disk_letters = @letters[ 0 .. $#{$disk_names} ]; my $disk_it = each_array @{$disk_names}, @disk_letters; my @disk_list; while ( my ( $disk_name, $disk_letter ) = $disk_it->() ){ push @disk_list, [$disk_name, "vd" . $disk_letter ]; } return \@disk_list; }