将多个数组,变量,哈希发送到子程序的最佳方法是什么?
简单的形式,工作.
my $msg = &getMsg(1,2,3);
print $msg;
sub getMsg {
my($a, $b, $c) = @_;
}
Run Code Online (Sandbox Code Playgroud)
我对这个版本有困难,并且不确定如何在不使用全局的情况下将数据安全地发送到子例程,这不是我想要做的.
my @array = ('a','b','c');
my $str = "Hello";
my %hash = (
'a' => ['100','nuts'],
'b' => ['200','bolts'],
'c' => ['300','screws'],
);
my $msg = getMsg(@array, $str, %hash);
print $msg;
sub getMsg {
my (@a, $s, %h) = @_;
my $MSG;
foreach my $x (@a) {
$MSG .= "\n$str, $x your hash value = $h{$x}[0] $h{$x}[1]";
}
return $MSG
}
Run Code Online (Sandbox Code Playgroud) 在没有php的情况下使用mysql UPDATE从字段中删除连字符的最佳方法是什么?
field: 211-555-1212 > 2115551212
Run Code Online (Sandbox Code Playgroud) 想知道使这更有效的最佳方法是什么,也许是使用 jQuery。我对不符合 ie7 的解决方案没有意见,如果需要,即使不支持 ie8 也可以。
<style type="text/css">
.cal {text-align:center}
.ral {text-align:right}
</style>
<table>
<th>
<td class="cal">center</td>
<td>left</td>
<td class="cal">center</td>
<td>left</td>
<td class="ral">right</td>
</th>
<tr>
<td class="cal">center</td>
<td>left</td>
<td class="cal">center</td>
<td>left</td>
<td class="ral">right</td>
</tr>
<tr>
<td class="cal">center</td>
<td>left</td>
<td class="cal">center</td>
<td>left</td>
<td class="ral">right</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud) 获得500个握手错误:443超过https.我发送XML的主机服务不支持TLS 1.2,它们支持1.0和1.1.目前在CentOS 6上使用LWP 6.03.使用下面的代码,他们声称我仍在使用TLS1.2发送
use LWP::UserAgent;
$ua = LWP::UserAgent->new(ssl_opts => { verify_hostname => 0,SSL_version => 'SSLv23:!TLSv12' });
$req = HTTP::Request->new(GET => 'https://secure-host-server');
$res = $ua->request($req);
if ($res->is_success) {
print $res->content;
} else {
print "Error: " . $res->status_line . "\n";
}
Run Code Online (Sandbox Code Playgroud)
是否可以在发送给主机时打印TLS版本?我能做些什么来验证我使用的是TLS1.1?
以下脚本循环运行,使用 检索图像LWP::UserAgent,并使用 调整图像大小Image::Magick。
Image::Magick我在读取下载的图像时收到此错误:
Exception 450: Unsupported marker type 0x54
Run Code Online (Sandbox Code Playgroud)
如果我将 LWP 下载的图像下载到我的计算机上,在照片编辑器中打开它,另存为 .jpg 文件,上传它并尝试阅读,那么Image::Magick一切都很好。这会让我相信图像没有正确保存。
我需要使用LWP::UserAgent,因为我连接的服务器不允许下载,除非它认为客户端正在请求数据。
use LWP::UserAgent;
use Image::Magick;
$ua = new LWP::UserAgent;
$ua->agent("$0/0.1 " . $ua->agent);
$ua->agent("Mozilla/8.0");
my $PICURL ="http://www.example.com/img.aspx?pid=cjfsaf79afffafhfah777af7";
my $PICDEST ="/var/vhosts/mysite.com/httpdocs/images";
my $PICNAME ="01.jpg";
my $response = $ua->get("$PICURL");
open(outfile, ">:raw", "$PICDEST/$PICNAME");
binmode outfile;
if ($response->is_success) {
print outfile $response->content;
$Pi++;
$PTOT++;
}
else {
die $response->status_line;
}
$image = new Image::Magick;
$image->Read("$PICDEST/$PICNAME");
$image->Scale(width=>800, height=>600);
$image->Write("$PICDEST/$PICNAME");
$image->Scale(width=>216, height=>163); …Run Code Online (Sandbox Code Playgroud) 以下代码是倒数计时器.它从mySQL中提取结束日期时间戳并使用它来计算.问题是mysql时间可能与使用计时器查看页面的客户端位于不同的时区.
我还使用NOW()从mySQL中提取当前时间戳,认为这将允许计时器计算为创建它的用户.
如果我把NOW()值放在这个片段中
var timeDiff = target - (new Date());
Run Code Online (Sandbox Code Playgroud)
像这样
var nt='2015-03-11 05:12:15'.split(/[- :]/);
var timeDiff = target - (new Date(nt[0],nt[1]-1,nt[2],nt[3],nt[4],nt[5]));
Run Code Online (Sandbox Code Playgroud)
计数器显示页面加载时剩余的正确时间,但不再以交互方式计数.我想我需要在客户端本地时间和mySQL NOW()之间获得数小时的差异,并调整此行中的日期以使交互式计时器运行.
var timeDiff = target - (new Date());
Run Code Online (Sandbox Code Playgroud)
我尝试的任何东西似乎都有用.
如果客户端碰巧在同一时区内,则这是工作脚本.
<script language="javaScript">
document.write(hrs);
function timeDiff(target) {
function z(n) {return (n<10? '0' : '') + n;}
var timeDiff = target - (new Date());
var hours = timeDiff / 3.6e6 | 0;
var minutes = timeDiff % 3.6e6 / 6e4 | 0;
var seconds = timeDiff % 6e4 / …Run Code Online (Sandbox Code Playgroud) 我正在使用ImageMagick for Perl
use Image::Magick;
Run Code Online (Sandbox Code Playgroud)
我编写了功能代码来执行所有必要的任务,如调整大小,缩略图,读取尺寸,裁剪,裁剪到中心.
我确实要求所有照片都是风景照片,所以我要丢弃任何高度大于或等于宽度的图像.
我正在努力解决的问题是在调整大小之前裁剪.照片需要4:3的宽高比.有些照片采用新的16:9格式,或者在发送到服务器之前可能已被裁剪,这会导致屏幕显示偏斜.在我调整大小之前,我想裁剪图像,使其最接近4:3.例如,800/600即可,但802/600会将中心裁剪为800/600.
我将调整所有照片的大小,不管裁剪的大小到800/600的最大存储图像,但这是仙女无关紧要.由于我可以提前读取高度和宽度尺寸,因此可能有一种算法可用于计算最接近的匹配.我真的只需要帮助获取要裁剪的新尺寸,而不是ImageMagick,除非ImageMagick中有一个可以为我做这个的功能.
但是,我没有成功找到一个.
我收到错误:
Remove leading / from member names
Run Code Online (Sandbox Code Playgroud)
尝试使用-X和排除文件创建域归档时.如果我删除-X选项,作业将按预期执行.
备份执行
/mnt/15326/s3/backup.sh
Run Code Online (Sandbox Code Playgroud)
tmp dir
/mnt/15326/s3/data
Run Code Online (Sandbox Code Playgroud)
排除文件
/mnt/15326/s3/data/exclude.txt
Run Code Online (Sandbox Code Playgroud)
内容
/mnt/15326/www.domain.com/dir1
/mnt/15326/www.domain.com/dir2
Run Code Online (Sandbox Code Playgroud)
dir备份
/mnt/15326/www.domain.com
Run Code Online (Sandbox Code Playgroud)
命令运行
tar cf /mnt/15326/s3/data/backup_domain.com -X /mnt/15326/s3/data/exclude.txt /mnt/15326/www.domain.com
Run Code Online (Sandbox Code Playgroud) 我已经搜索并尝试了许多解决方案,但对于shell来说我是新手,我迷失了.我在一个.sh中设置一个变量,调用第二个,然后尝试根据它是否为真.
testA.sh
#!/bin/sh
DB=1
. testB.sh
Run Code Online (Sandbox Code Playgroud)
------------------------------------
testB.sh
if ${DB}==1; then
echo "DB is on"
fi
Run Code Online (Sandbox Code Playgroud)
我找不到1 == 1命令.