$ARGVについて調べたのですが
スクリプトを実行するときに指定した引数のリストが格納される特殊な配列。
第一引数
$ARGV[0]

第一引数だからこの場合$ARGV[0]は1で
$weekday{$ARGV[0]} は $weekday{1}; になってSundayと表示されると言うことじゃないんですか?