Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl 远程Windows系统上的文件IO_Perl_File Io - Fatal编程技术网

Perl 远程Windows系统上的文件IO

Perl 远程Windows系统上的文件IO,perl,file-io,Perl,File Io,给定一个可以在unix或Windows上运行的Perl脚本,如何在Windows主机上最好地读/写文件?有类似的吗 我会尝试挂载远程文件夹,然后使用标准的perl函数: use constant W_REMOTE_FOLDER = '\\server\share'; use constant W_LOCAL_FOLDER = 'x:\share\'; use constant L_REMOTE_FOLDER = 'smb://server/share'; use constant L_LOCAL

给定一个可以在unix或Windows上运行的Perl脚本,如何在Windows主机上最好地读/写文件?有类似的吗

我会尝试挂载远程文件夹,然后使用标准的perl函数:

use constant W_REMOTE_FOLDER = '\\server\share';
use constant W_LOCAL_FOLDER = 'x:\share\';
use constant L_REMOTE_FOLDER = 'smb://server/share';
use constant L_LOCAL_FOLDER = '/mnt/share/';

my $localfolder = '';

if ($am_i_windows)
{
    system('net use ...');
    $localfolder = W_LOCAL_FOLDER;
}
if ($am_i_linux)
{
    system('mount ...');
    $localfolder = L_LOCAL_FOLDER;
}
die "What am I? if ($localfolder eq '');


open(HANDLE, "$localfolder/$filename");
# read/write (...)
close(HANDLE);

嘿,谢谢你的回答,你安装远程文件夹是什么意思?需要明确的是,远程windows主机不能保证运行任何东西,甚至不能安装perl。我不确定这是否可行。它不需要Perl。它需要启用“文件和打印机共享”。通过挂载,我的意思是使远程文件系统在本地可用。(Unix:| | Windows:)