小编dax*_*xim的帖子

在perl中编写和读取XML的最佳方法是什么?

我正在使用Perl程序,只需使用打开,打印,关闭的典型函数就可以写入XML文件.XML文件稍后由PHP Web应用程序消化.

#!/usr/bin/perl
#opening file
open FILE, ">derp.xml" or die $!;

#data is created in variables like so...
$first       = '<\?xml version=\"1.0\" encoding=\"UTF-8\" \?>';
$openperson  = '<person>\n';
$name        = '<name>Gary</name>\n';
$birthday    = '<brithday>01/10/1999</birthday>\n';
$car         = '<car>minivan</car>\n';
$closeperson = '</person>\n';

#writing variables to file
print FILE $first;
print FILE $openperson;
print FILE $name;
print FILE $birthday;
print FILE $car;
print FILE $closeperson;
close FILE;
Run Code Online (Sandbox Code Playgroud)

或多或少这基本上是当前系统的工作方式.我相信一定有更好的方法.

xml perl perl-data-structures

0
推荐指数
1
解决办法
1293
查看次数

MediaWiki :: API中出现"无法解码JSON"错误的原因是什么?

我们在公司内部安装了私人MediaWiki.基于我们源代码的每日构建,我们使用Perforce标签更新Wiki,以便人们可以使用标记为简化流程的构建.我们尝试使用MediaWiki :: BotMediaWiki :: API在Windows服务器上使用Perl脚本自动执行此操作.

use MediaWiki::Bot;
use MediaWiki::API;

my $mw = MediaWiki::API->new();
$mw->{config}->{api_url} = 'http://somewiki/w/index.php/title#feature_List';

# log in to the wiki
$mw->login({
        lgname     => 'username',
        lgpassword => 'password'
          || die $mw->{error}->{code} . ': ' . $mw->{error}->{details};

          # get a list of articles in category
          my $articles = $mw->list({
                action  => 'query',
                list    => 'categorymembers',
                cmtitle => 'Category:Perl',
                cmlimit => 'max'
            }) || die $mw->{error}->{code} . ': ' . $mw->{error}->{details};

          # and print the article titles …
Run Code Online (Sandbox Code Playgroud)

perl mediawiki wikipedia-api mediawiki-api

0
推荐指数
1
解决办法
751
查看次数

PHP中的$ _SERVER ['HTTP_HOST']的Perl等价物是什么?

如何在Perl脚本中获取当前域名,即$_SERVER['HTTP_HOST']PHP变量的等效Perl代码?

php perl

-1
推荐指数
1
解决办法
1032
查看次数

构造`<DATA>`,`chomp`和`shift`在这个文件读取功能中做了什么?

我正在使用现有的函数来读取文件.

sub testRead {
    my $file = shift;
    open(DATA, "$file") || die "Can not open $file: $!";

    my $title = <DATA>;
    chomp($title);
    my @names = split(/\t/, $title);
    shift(@names);

    my @data = ();
    my $row = 0;
    while(<DATA>) {
        chomp;
        my @line = split(/\t/);
        for my $i (1 .. $#line) {
            $data[$i-1][$row] = $line[$i];
        }
        $row ++;
    }

    close DATA;
    return (\@data, \@names);
}
Run Code Online (Sandbox Code Playgroud)

我一般可以理解这个功能是做什么的,但我不太确定my $title = <DATA>;.我知道<DATA>代表文件句柄,但这行代码到底要做什么?此外,做什么chomp($title);shift(@names);打算做什么?而且,在while(<DATA>)循环中,有一行代码chomp;,它有什么作用?

perl

-1
推荐指数
1
解决办法
521
查看次数

How do I get f_type from statfs?

I need to get f_type from statfs. I tried patching Filesys::Df:

---
 Df.pm       | 6 +++---
 Makefile.PL | 7 +------
 XS_statfs   | 1 +
 3 files changed, 5 insertions(+), 9 deletions(-)

diff --git a/Df.pm b/Df.pm
index b24bd9c..986082a 100644
--- a/Df.pm
+++ b/Df.pm
@@ -28,7 +28,7 @@ my %fs = ();
    ($block_size) ||
        ($block_size = 1024);

-   my ($frsize, $blocks, $bfree, $bavail, $files, $ffree, $favail);
+   my ($frsize, $blocks, $bfree, $bavail, $files, $ffree, $favail, $ftype);

    #### If open filehandle …
Run Code Online (Sandbox Code Playgroud)

filesystems perl xs

-1
推荐指数
1
解决办法
104
查看次数