in reply to passing a variable value to Unix command

my $name = $k.\*;
should be:
my $name = $k . "*";
or:
my $name = "$k*";
Also qw expects whitespace separated arguments, so I suspect you don't want the commas in there.