如果是这样,你可以提供代码.我几乎可以做任何其他事情,从创建新页面,修改页面属性等.但我似乎无法添加附件.我已经阅读了官方的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 …我有点难以理解如何进行一些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  
现在让我们说我想在表网站上添加另一个查询.我得到两个变量,让我们说:
$user = John;
$site = "www.google.com";
我想从users表中选择John的id,并在一个语句中将其插入到网站表中.
我该怎么做?
我正在尝试在当前和所有子文件夹中grep多个扩展.
grep -i -r -n 'hello' somepath/*.{php,html}
这只是当前文件夹而不是子文件夹.
这样做的好方法是什么?
我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";
那么,我想读取和写入两个套接字的数据,所以序列是:
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 …嗨,我是vim的新手,我不知道缓冲区和窗口是什么.我找不到任何关于如何理解这两个的教程,所以这是我的问题:
在这个源代码中,我找到了这个sub定义.
sub upload_file : Chained( 'base' ) : PathPart( 'upload-file' ) : Args( 0 ){
我不明白那些:冒号和参数是什么意思.有人能指点我一些文件吗?
我必须完成的任务之一需要我从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;  
}  
从那时起,我复制从此脚本回显的任何内容(在我的浏览器输出上)并将其粘贴到我的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;
我一直在尝试很多东西,比如没有在Perl方面指定IV等等,但它一直给我错误.这个表单是唯一一个我可以获得任何输出的表单.
使用原始$ text ="hello"执行上述操作的结果是:Pñšîî7àÐŽZÊ&Rhello
我发现我的原始内容被正确解密,但不是在我想要的部分之前没有添加一堆垃圾字符.
任何人都可以指出我做错了什么以及如何解决它?
谢谢一堆.
如何使用Perl将.wma和.wmv扩展名的驱动器上的所有文件重命名为.txt扩展名,无论它们在目录结构中有多深?
我有一个功能(简而言之):
my $file = IO::File->new("| some_command >> /dev/null 2>&1") 
    or die "cannot open some_command for writing: $!\n";
...
undef $file;
现在我甚至都没有写任何东西$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 ...>
如果我打开相同的阅读过程,我不会看到这个问题.
要使程序退出,我该怎么办?
编辑:到目前为止的建议是使用Expect库或通过ctrl + d完成输入流.但是我现在不想以任何方式与该程序进行交互.我希望它现在完全没有任何更多的IO继续完成.那可能吗?
我已经阅读了文档,GetOptions但我似乎找不到我需要的东西......(也许我是盲人)
我想要做的是像这样解析命令行
myperlscript.pl -mode [sth] [inputfile]
我可以使用该-mode部分,但我不知道如何获得[inputfile].任何建议将被认真考虑.