小编inn*_*naM的帖子

有没有人能够让Confluence.pm添加附件?

如果是这样,你可以提供代码.我几乎可以做任何其他事情,从创建新页面,修改页面属性等.但我似乎无法添加附件.我已经阅读了官方的Perlu XML-RPC站点和讨论,但是他们在那里展示的所有代码片段似乎都不适合我.这是我对它的黑客攻击:

# The following command sort of worked:
# ~/bin/wikitool.pl -action attach_file -url $MYURL
# IT attached something but the file was empty
sub attach_file {
    my $confluence = XMLRPC::Lite->proxy($opts{server}."rpc/xmlrpc");
    my $token = $confluence->call("confluence1.login", $opts{login}, $opts{password})->result();

    # Fetch page
    my $page = FetchPage($opts{title});
    if (not $page) {
      dbg("$opts{title} page is missing.","FATAL");
    }

    my $pageId = SOAP::Data->type( string => $$page{id} );

    my $filename = "$ENV{HOME}/tmp/tmp0.gif";
    my $metadata = {
        fileName => $filename,
        contentType => "image/gif",
        comment => "Some …
Run Code Online (Sandbox Code Playgroud)

api perl xml-rpc confluence

5
推荐指数
1
解决办法
1965
查看次数

MYSQL INSERT SELECT问题

我有点难以理解如何进行一些INSERT SELECT.

例如,我有两张桌子.

TABLE : users  

 id | name   | gender  
 1  | John   | m  
 2  | Mary   | f  

TABLE : website  

 fid | url             | id  
 1   | www.desilva.biz | 2  
 2   | gidhelp.com     | 4  
Run Code Online (Sandbox Code Playgroud)

现在让我们说我想在表网站上添加另一个查询.我得到两个变量,让我们说:

$user = John;
$site = "www.google.com";
Run Code Online (Sandbox Code Playgroud)

我想从users表中选择John的id,并在一个语句中将其插入到网站表中.

我该怎么做?

mysql select insert

5
推荐指数
1
解决办法
853
查看次数

grep多个扩展当前和子文件夹

我正在尝试在当前和所有子文件夹中grep多个扩展.

grep -i -r -n 'hello' somepath/*.{php,html}
Run Code Online (Sandbox Code Playgroud)

这只是当前文件夹而不是子文件夹.

这样做的好方法是什么?

grep

5
推荐指数
2
解决办法
5797
查看次数

连续写入套接字后的Perl套接字编程问题

IO::Socket::INET用来创建这样的套接字:

$lsn1 = IO::Socket::INET->new(
                            PeerAddr => '192.168.0.2', 
                            PeerPort => 1850, 
                            Proto    => 'tcp', 
                            Type     => SOCK_STREAM
   ) || die "Can't connect to 192.168.0.2:1850 : $!\n"; 

$lsn2 = IO::Socket::INET->new(
                            PeerAddr => '192.168.0.2', 
                            PeerPort = >1852, 
                            Proto    => 'tcp', 
                            Type     => SOCK_STREAM
   ) || die "Can't connect to 192.168.0.2:1852 : $!\n";
Run Code Online (Sandbox Code Playgroud)

那么,我想读取和写入两个套接字的数据,所以序列是:

1. $lsn1->print(msg1);  send message 1 to server from $lsn1.
2. $line = <$lsn2>;     receive message 2 from server from $lsn2.
3. $lsn2->print(msg3);  send message 3 to server from …
Run Code Online (Sandbox Code Playgroud)

sockets perl tcp

5
推荐指数
1
解决办法
1290
查看次数

vim中术语"缓冲区"和"窗口"的含义是什么?

嗨,我是vim的新手,我不知道缓冲区和窗口是什么.我找不到任何关于如何理解这两个的教程,所以这是我的问题:

  1. 什么是缓冲区,它与窗口有什么不同?
  2. 缓冲区可以用于什么?和窗口(我假设它只是为了编辑)?
  3. 我在哪里可以找到关于如何使用缓冲区和窗口的好教程?

vim

5
推荐指数
1
解决办法
166
查看次数

冒号在子程序定义中意味着什么?

这个源代码中,我找到了这个sub定义.

sub upload_file : Chained( 'base' ) : PathPart( 'upload-file' ) : Args( 0 ){
Run Code Online (Sandbox Code Playgroud)

我不明白那些:冒号和参数是什么意思.有人能指点我一些文件吗?

perl

5
推荐指数
1
解决办法
157
查看次数

PHP:PEAR:使用Crypt_CBC加密,使用Perl的CBC解密

我必须完成的任务之一需要我从PHP端加密一些东西,然后用Perl解密它.

我发现的PEAR模块似乎适合我的需求是Crypt_CBC.但是,必须有一些我做错或者不理解的事情,因为到目前为止我无法获得正确的结果.

下面的代码摘录专门用于测试目的,因为我想在将它应用到我的实际项目代码之前尝试全部.

首先,这是我的PHP代码,我使用它加密传递给$ text参数的任何内容(即cryptTest.php?text = hello)

require_once('Crypt/CBC.php');  

$key = "8326554161EB30EFBC6BF34CC3C832E7CF8135C1999603D4022C031FAEE";  
$cipher = new Crypt_CBC($key, 'BLOWFISH');

$encrypted = $cipher->encrypt($text);  

if (PEAR::isError($encrypted)) {  
    echo $encrypted->getMessage();  
} else {  
    echo "ENCRYPTED STRING: " . $encrypted;  
}  
Run Code Online (Sandbox Code Playgroud)

从那时起,我复制从此脚本回显的任何内容(在我的浏览器输出上)并将其粘贴到我的PERL脚本的$ encrypted变量中:

use Crypt::CBC; 
$encrypted = "RandomIVá´bp3Ó¯làK”Á(Û";  
my $key = "8326554161EB30EFBC6BF34CC3C832E7CF8135C1999603D4022C031FAEE";  
my $vector = "\0\0\0\0\0\0\0\0";  

my $cipher = Crypt::CBC->new(  
                       {'key'             =>$key,  
                        'cipher'          => 'Blowfish',  
                        'iv'              => $vector,  
                        'prepend_iv'      => 0  
                       });  

my $plaintext = $cipher->decrypt($encrypted);

print $plaintext;
Run Code Online (Sandbox Code Playgroud)

我一直在尝试很多东西,比如没有在Perl方面指定IV等等,但它一直给我错误.这个表单是唯一一个我可以获得任何输出的表单.

使用原始$ text ="hello"执行上述操作的结果是:Pñšîî7àÐŽZÊ&Rhello

我发现我的原始内容被正确解密,但不是在我想要的部分之前没有添加一堆垃圾字符.

任何人都可以指出我做错了什么以及如何解决它?

谢谢一堆.

php encryption perl

4
推荐指数
1
解决办法
2294
查看次数

使用Perl,如何重命名驱动器的所有子目录中的文件?

如何使用Perl将.wma和.wmv扩展名的驱动器上的所有文件重命名为.txt扩展名,无论它们在目录结构中有多深?

recursion perl rename

4
推荐指数
1
解决办法
9954
查看次数

perl在退出时挂起(关闭文件句柄后)

我有一个功能(简而言之):

my $file = IO::File->new("| some_command >> /dev/null 2>&1") 
    or die "cannot open some_command for writing: $!\n";
...
undef $file;
Run Code Online (Sandbox Code Playgroud)

现在我甚至都没有写任何东西$file.目前根本没有其他操作$file.当我运行该程序时,它无法正常退出.我看到句柄已关闭,但我的程序仍在等待关闭进程.捕获strace:

close(6)                                = 0
rt_sigaction(SIGHUP, {SIG_IGN}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGINT, {SIG_IGN}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGQUIT, {SIG_IGN}, {SIG_DFL}, 8) = 0
wait4(16861, ^C <unfinished ...>
Run Code Online (Sandbox Code Playgroud)

如果我打开相同的阅读过程,我不会看到这个问题.

要使程序退出,我该怎么办?

编辑:到目前为止的建议是使用Expect库或通过ctrl + d完成输入流.但是我现在不想以任何方式与该程序进行交互.我希望它现在完全没有任何更多的IO继续完成.那可能吗?

linux perl ipc pipe process

3
推荐指数
2
解决办法
2864
查看次数

如何使用GetOptions获取默认参数?

我已经阅读了文档,GetOptions但我似乎找不到我需要的东西......(也许我是盲人)

我想要做的是像这样解析命令行

myperlscript.pl -mode [sth] [inputfile]
Run Code Online (Sandbox Code Playgroud)

我可以使用该-mode部分,但我不知道如何获得[inputfile].任何建议将被认真考虑.

perl

3
推荐指数
3
解决办法
3538
查看次数

标签 统计

perl ×7

api ×1

confluence ×1

encryption ×1

grep ×1

insert ×1

ipc ×1

linux ×1

mysql ×1

php ×1

pipe ×1

process ×1

recursion ×1

rename ×1

select ×1

sockets ×1

tcp ×1

vim ×1

xml-rpc ×1