ディレクトリの読み込みについて質問があります。

my $dir_name = "test";
opendir(DIR,"$dir_name");
closedir(DIR);

として、変数dir_nameに直接ディレクトリ名を入れると読み込めるのですが、

my @dir_list = (test,test2);
opendir(DIR,"$dir_list[0]");
closedir(DIR);

とすると読み込めないのは何故でしょうか?

my @dir_list = (test,test2);
my $dir_name = $dir_list[0];
opendir(DIR,"$dir_name");
closedir(DIR);

とした場合でも同様に読み込めず、原因が何なのかもわからず困っています…。
何か基礎的な部分で間違っているのかもしれませんが、教えて頂けると助かります。
宜しくお願い致します。