如果是这样,你可以提供代码.我几乎可以做任何其他事情,从创建新页面,修改页面属性等.但我似乎无法添加附件.我已经阅读了官方的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) 我有点难以理解如何进行一些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,并在一个语句中将其插入到网站表中.
我该怎么做?
我正在尝试在当前和所有子文件夹中grep多个扩展.
grep -i -r -n 'hello' somepath/*.{php,html}
Run Code Online (Sandbox Code Playgroud)
这只是当前文件夹而不是子文件夹.
这样做的好方法是什么?
我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) 嗨,我是vim的新手,我不知道缓冲区和窗口是什么.我找不到任何关于如何理解这两个的教程,所以这是我的问题:
在这个源代码中,我找到了这个sub定义.
sub upload_file : Chained( 'base' ) : PathPart( 'upload-file' ) : Args( 0 ){
Run Code Online (Sandbox Code Playgroud)
我不明白那些:冒号和参数是什么意思.有人能指点我一些文件吗?
我必须完成的任务之一需要我从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
我发现我的原始内容被正确解密,但不是在我想要的部分之前没有添加一堆垃圾字符.
任何人都可以指出我做错了什么以及如何解决它?
谢谢一堆.
如何使用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;
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继续完成.那可能吗?
我已经阅读了文档,GetOptions但我似乎找不到我需要的东西......(也许我是盲人)
我想要做的是像这样解析命令行
myperlscript.pl -mode [sth] [inputfile]
Run Code Online (Sandbox Code Playgroud)
我可以使用该-mode部分,但我不知道如何获得[inputfile].任何建议将被认真考虑.