Filesys::SmbClientParser is a Perl client to reach Samba ressources with smbclient.
SYNOPSIS
use Filesys::SmbClientParser;
my $smb = new Filesys::SmbClientParser
(undef,
(
user => 'Administrateur',
password => 'password'
));
# Or like -A parameters:
$smb->Auth("/home/alian/.smbpasswd");
# Set host
$smb->Host('jupiter');
# List host available on this network machine
my @l = $smb->GetHosts;
foreach (@l) {print $_->{name},"t",$_->{comment},"n";}
# List share disk available
my @l = $smb->GetShr;
foreach (@l) {print $_->{name},"n";}
# Choose a shared disk
$smb->Share('games2');
# List content
my @l = $smb->dir;
foreach (@l) {print $_->{name},"n";}
# Send a Winpopup message
$smb->sendWinpopupMessage('jupiter',"Hello world !");
# File manipulation
$smb->cd('jdk1.1.8');
$smb->get("COPYRIGHT");
$smb->mkdir('tata');
$smb->cd('tata');
$smb->put("COPYRIGHT");
$smb->del("COPYRIGHT");
$smb->cd('..');
$smb->rmdir('tata');
# Archive method
$smb->tar('c','/tmp/jdk.tar');
$smb->cd('..');
$smb->mkdir('tatz');
$smb->cd('tatz');
$smb->tar('x','/tmp/jdk.tar');
See test.pl file for others examples.
SmbClientParser work with output of bin smbclient, so it doesn't work on win platform. (but query of win platform work of course)
A best method is work with a samba shared librarie and xs language, but on Nov.2000 (Samba version prior to 2.0.8) there is no public interface and shared library defined in Samba projet.
Request has been submit and accepted on Samba-technical mailing list, so I've build another module called Filesys-SmbClient that use features of this library. (libsmbclient.so)
For Samba client prior to 2.0.8, use this module !
SmbClientParser is adapted from SMB.pm make by Remco van Mook mook@cs.utwente.nl on smb2www project.
Product's homepage
Requirements:
· Perl