Hi
tie works like this: "tie VARIABLE,CLASSNAME,LIST".
The "variable" is your *FD, "classname", correctly, is 'Filesys::SmbClient', and all the other stuff afterwards is exactly what you'd pass to Filesys::SmbClient->new().
You would basically want to change your code to read:
local *FD;
tie *FD, 'Filesys::SmbClient', @args;
open FD, 'smb://host/directory/file'
or die "Can't read file:", $!, "\n";
print while (<FD>);
close (FD);
If you skip the part about "using the two or three params open()" (use the right one), this *should* work.