小编sid*_*com的帖子

这段代码是否适用于其他功能?

这种代码是否也适用于其他函数(而不是dbmopen),这会打开一个文件并在失败时返回false?

my $n_tries = 5;
while ($n_tries--) {
    if (dbmopen (%CHOICES, &dbm_file(), 0600)) {
        last;
    } else { 
        if ($! eq 'Resource temporarily unavailable') {
            my $wait = rand 0.45; select undef, undef, undef, $wait;
        } else { return;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

perl file

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

什么是简单的Perl脚本来解析带有自定义标签的HTML文档(Perl解释器)?

好的,这就是我正在做的事情.我正在为我的自定义扩展(.cpm)结尾的文档制作一个perl解释器.我环顾四周,发现了

似乎HTML :: Parser是要走的路.我要求的是一个简单的教程来解析带有特殊标签的文档.例如,我想要一些东西向我展示如何解析HTML文档,但无论什么时候,<putinbold>它都会被替换掉<b>.

我想要的一个例子 -

<html>
This is HTML talking
<liamslanguage>say "This is Liams language speaking"</liamslanguage>
</html>

perl html-parser

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

C:string-literal - 问题

只是在char *ptr = "Hello World"字符串文字或两个"Hello World"字符串文字?

#include <stdio.h>
#include <stdlib.h>

int main(void) {

    char array[] = { "Hello World" };
    char *ptr = "Hello World";

    printf( "%s\n", array );
    printf( "%s\n", ptr );

    printf( "%c\n", *array );
    printf( "%c\n", *ptr );

    printf( "%c\n", array[1] );
    printf( "%c\n", ptr[1] );

    return EXIT_SUCCESS;
}

# Hello World
# Hello World
# H
# H
# e
# e
Run Code Online (Sandbox Code Playgroud)

c string-literals

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

DBD :: CSV - 如何获取列名?

如何从表中获取列名?我的尝试不起作用:

#!/usr/bin/env perl
use warnings;
use 5.012;
use DBI;

my $options  = { RaiseError => 1, PrintError => 0, f_ext => ".csv/r" };
my $dbh = DBI->connect( "dbi:CSV:", undef, undef, $options ) or die $DBI::errstr;

my $table = 'test';
$dbh->do( "CREATE TEMP TABLE $table ( id INT, size INT )" );
my $sth = $dbh->prepare( "INSERT INTO $table ( id, size ) VALUES( ?, ? )" );
$sth->execute( 1, 235 );
$sth->execute( 2, 42 );

use Data::Dumper;
say Dumper $dbh->{csv_tables}{$table}{col_names}; …
Run Code Online (Sandbox Code Playgroud)

csv perl columnname dbi

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

分隔符编码的问题

如果我按原样运行这个脚本,它就可以了.
但为什么这不起作用cgi
当我使用_\01_而不是_\00_它也适用cgi.

#!/usr/bin/env perl
use warnings;
use 5.012;


###    script_1.cgi    #########################################

my @array = ( '1524', '2.18 MB', '09/23/03', '_cool_name_', 'type' );
my $row = join "_\00_", @array;
say $row;
# submit $row to script_2.cgi


###    script_2.cgi    #########################################
# ...
# my $row = $cgi->param('row');
# my $name;

if ( $row =~ /_\00_([^\00]+)_\00_type\z/ ) {
#   $name = $1;
    say "Name: <$1>";
} else {
    die "<$row> $!";
}

# Software …
Run Code Online (Sandbox Code Playgroud)

regex perl encoding ascii cgi

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

警告:使用未初始化的值替换

为什么Perl会在这种情况下发出警告

Use of uninitialized value `$new` in substitution (s///) at ./perl.pl line 8.
Run Code Online (Sandbox Code Playgroud)

并不是

Use of uninitialized value `$string` in substitution (s///) at ./perl.pl line 8.

#!/usr/bin/env perl
use warnings;
use strict;

my $string;
my $new;

( $new = $string ) =~ s/^.//;
Run Code Online (Sandbox Code Playgroud)

perl warnings initialization substitution

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

如何立即在xt中运行测试?

是否可以从命令行xt一次性在目录中运行测试?

testing perl

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