DOKK / manpages / debian 12 / rex / Rex::FS::File.3pm.en
Rex::FS::File(3pm) User Contributed Perl Documentation Rex::FS::File(3pm)

Rex::FS::File - File Class

This is the File Class used by file_write and file_read.

 use Rex::Interface::File;
 my $fh = Rex::Interface::File->create('Local');
 $fh->open( '<', 'filename' );
 my $file = Rex::FS::File->new(fh => $fh);
 $file->read($len);
 $file->read_all;
 $file->write($buf);
 $file->close;

This is the constructor. You need to set the filehandle which the object should work on or pass a filename. If you pass a filehandle, it has to be a "Rex::Interface::File::*" object

 my $fh = Rex::Interface::File->create('Local');
 $fh->open( '<', 'filename' );
 
 my $file = Rex::FS::File->new(fh => $fh);

Create a "Rex::FS::File" object with a filename

 # open a local file in read mode
 my $file = Rex::FS::File->new(
   filename => 'filename',
   mode     => 'r', # or '<'
   type     => 'Local',
 );
 
 # or shorter
 my $file = Rex::FS::File->new( filename => 'filename' );
 
 # open a local file in write mode
 my $file = Rex::FS::File->new(
   filename => 'filename',
   mode     => 'w', # or '>'
 );

Allowed modes:

 <  read
 r  read
 >  write
 w  write
 >> append
 a  append

For allowed "types" see documentation of Rex::Interface::File.

Write $buf into the filehandle.

 $file->write("Hello World");

Seek to the file position $offset.

Set the file pointer to the 5th byte.

 $file->seek(5);

Read $len bytes out of the filehandle.

 my $content = $file->read(1024);

Read everything out of the filehandle.

 my $content = $file->read_all;

Close the file.

 $file->close;
2023-03-06 perl v5.36.0