Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.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配置::简单:在文件中添加额外的控制字符(\\n)_Perl_Configuration - Fatal编程技术网

Perl配置::简单:在文件中添加额外的控制字符(\\n)

Perl配置::简单:在文件中添加额外的控制字符(\\n),perl,configuration,Perl,Configuration,我有一个程序,它必须从perl脚本中读取和写入配置(属性)文件。我使用Config::Simple进行读写操作 我的问题是,我能够读写属性文件。 但是,当我尝试更新属性值中的某个配置值时,它会添加控制字符(\n),并且还希望删除由“cfg-write()”方法创建的默认头。我试着搜索论坛,提到API,而不是信息。有人能发光吗 当我试图调用日期/时间函数时,它不会添加任何额外字符。然而,当我试图执行svn命令时,它会添加额外的字符。我试过在控制台上使用printing命令,它在没有控制字符的情况下

我有一个程序,它必须从perl脚本中读取和写入配置(属性)文件。我使用Config::Simple进行读写操作

我的问题是,我能够读写属性文件。 但是,当我尝试更新属性值中的某个配置值时,它会添加控制字符(\n),并且还希望删除由“cfg-write()”方法创建的默认头。我试着搜索论坛,提到API,而不是信息。有人能发光吗

当我试图调用日期/时间函数时,它不会添加任何额外字符。然而,当我试图执行svn命令时,它会添加额外的字符。我试过在控制台上使用printing命令,它在没有控制字符的情况下工作得很好

my $buildDate = strftime('%d/%m/%y %H:%M:%S',localtime);
my $rev = `svn info --show-item revision`;
my $cfg = Config::Simple->import_from('temp.properties', \my %Config);
$cfg->param("builddate", $buildDate);
$cfg->param("revision", $rev);
$cfg->write() or die $cfg->error();
属性文件:

; Config::Simple 4.58
; Thu Apr 25 10:59:10 2019

version=Build Automation
revision=14794\\n
builddate=25/04/19 10:59:10
预期成果: 1) 需要删除修订配置参数中的控制字符(\n) 2) cfg write或cfg-autosave()将默认头写入文件,我希望删除/忽略该文件

实际结果: 1) 添加了额外的控制字符(\n)
2) 由于@choroba,默认标题被添加到属性文件中。出色的投入

我尝试使用Config::Properties::Commons

 my $cpc = Config::Properties::Commons->new();
     $cpc->load('temp.properties');
     # Access
     $cpc->set_property( builddate => 'Updated' );
     $cpc->save('temp.properties');

Code for **Config::Simple**

    my $rev = `svn info --show-item revision /home/sudhir/Work/Workspaces/Eclipse/trunk`;

        chomp($ver);
        my $cfg = Config::Simple->import_from('easycare.properties', \my %Config) or 
     die print "ERROR: Not able to open easycare.properties file";


    $cfg->param("builddate", $buildDate);
    $cfg->param("revision", $rev);
    $cfg->param("version", $ver);
    $cfg->write() or die $cfg->error();

chomp$rev
从中删除换行符。为什么需要删除标题?首先,我要感谢您的chomp方法。我想删除,因为我在ant中调用属性文件。这可能吗?为什么不使用呢?散列字符应该被ant忽略。