NAME
Quiq::Smb::Client - SMB Client
BASE CLASS
DESCRIPTION
Ein Objekt der Klasse repräsentiert einen SMB-Client. Die Klasse realisiert ihre Funktionalität unter Rückgriff auf Filesys::SmbClient, allerdings nicht durch Ableitung, sondern durch Einbettung. Die Klasse zeichnet sich dadurch aus, dass sie
höhere Dateioperationen wie ls(), get() und put() realisiert (ähnlich FTP)
Fehler nicht über Returnwerte anzeigt, sondern im Fehlerfall eine Exception wirft
ACHTUNG: Die Klasse Filesys::SmbClient scheint unsauber programmiert zu sein: Kommen in einem Programm mehrere SMB-Objekte vor, können diese nicht ohne Neuinstantiierung verschränkt genutzt werden. D.h. ein SMB-Objekt muss vor einer Operationen neu instantiiert werden, wenn die Operation davor über einem anderen Objekt stattgefunden hat.
METHODS
Konstruktor
new() - Instantiiere Objekt
Synopsis
$smb = $class->new(%args);
Arguments
- %args
-
Liste von Schlüssel/Wert-Paaren, siehe Filesys::SmbClient.
Returns
Object
Description
Instantiiere eine Objekt der Klasse und liefere eine Referenz auf dieses Objekt zurück.
Die Eigenschaft configuration gehört nicht zu Filesys::SmbClient, sondern ist speziell hinzugefügt. Wenn gesetzt, wird die Datei ~/.smb/smb.conf mit dem angegebenen Text (SMB-Konfiguration) vor der Instantiierung geschrieben. Andernfalls wird eine leere Datei angelegt.
Example
Konfiguration SMB 1.0:
my $smb = Quiq::Smb->new(
username => 'elbrusfse',
password => 'geheim',
workgroup => 'ZEPPELIN_HV',
debug => 0, # 0 .. 10
configuration => '
[global]
client min protocol = CORE
client use spnego = no
client ntlmv2 auth = no
',
);
Objektmethoden
delete() - Lösche Datei von Server
Synopsis
$smb->delete($file);
Arguments
Description
Lösche Datei $file von Server.
getData() - Hole Daten von Server
Synopsis
$data = $smb->getData($file);
Arguments
Returns
(String) Dateininhalt.
Description
Liefere den Inhalt der Datei $file.
Example
$data = $smb->get('smb://ZBM-MOM-T/XRECHNUNG$/S-001191090X_Original.pdf');
ls() - Liste von Dateien in Server-Verzeichnis
Synopsis
@arr|$arr = $sbm->ls($dir);
Arguments
Returns
(Array of Strings) Liste von Dateinamen. Im Skalarkontext eine Referenz auf die Liste.
Description
Liefere die Liste der Dateien auf dem Server in Verzeichnis $dir.
Example
@names = $smb->ls('smb://ZBM-MOM-T/XRECHNUNG$');
put() - Übertrage Datei auf Server
Synopsis
$smb->put($from,$to);
Arguments
Description
Kopiere Datei $from nach $to.
Example
$smb->put('test.xls','smb://zeppelin.corp/zbm/Transfer/elbrusfse/test.xls');
putData() - Übertrage Daten auf Server
Synopsis
$smb->putData($data,$file);
Arguments
Description
Schreibe Datei $file mit Inhalt $data.
Example
$smb->putData($data,'smb://ZBM-MOM-T/XRECHNUNG$/S-001191090X_Original.pdf');
rename() - Benenne Datei auf Server um
Synopsis
$smb->rename($oldname,$newname);
Arguments
Description
Benenne Datei $oldname in $newname um.
VERSION
1.239
AUTHOR
Frank Seitz, http://fseitz.de/
COPYRIGHT
Copyright (C) 2026 Frank Seitz
LICENSE
This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.