in reply to File::Spec::Win32; catpath

You probably forgot to put qw before one of the parentheses:
my $SourceDir = 'File::Spec'->catpath($volume, qw(Users st2641 Desktop + Source_dir));

When seeing barewords separated by whitespace, Perl thinks "indirect object notation".

لսႽ† ᥲᥒ⚪⟊Ⴙᘓᖇ Ꮅᘓᖇ⎱ Ⴙᥲ𝇋ƙᘓᖇ