#!/usr/bin/env perl use strict; use warnings; use Data::Dump; # An array of files my @filesTxt = ('abc1','abc2'); my %hash; $hash{$_} = [ glob("$_*") ] for @filesTxt; dd %hash; #### ( "abc2", ["abc2", "abc20" .. "abc29"], "abc1", ["abc1", "abc10" .. "abc19"], )