毫无疑问,这对你来说很简单......
我有一个类似的文件名列表;
fw_d.log.1.gz
through
fw_d.log.300.gz
Run Code Online (Sandbox Code Playgroud)
当我使用下面的代码块时,它几乎按我想要的方式排序,但不完全.
#!/usr/bin/perl -w
my $basedir = "/var/log";
my @verdir = qw(fw_d);
my $fulldir;
my $configs;
my $combidir;
foreach $combidir (@verdir) {
$fulldir = "$basedir/$combidir";
opendir (DIR, $fulldir);
my @files = grep { $_ ne '.' && $_ ne '..' && $_ ne 'CVS' readdir DIR;
closedir (DIR);
@files1 = sort {$a cmp $b}(@files);
foreach my $configs (@files1) {
print "Checking $configs\n";
system("less $basedir/$combidir/$configs | grep \'.* Group = , Username = .* autheauthenticated.\' >> output.log" …
Run Code Online (Sandbox Code Playgroud) 我正在构建一个PHP Web服务.
在编写太多代码之前,我可以看到一个问题迫在眉睫,并希望得到一些如何对抗它的输入.
我有14个站点,每个站点都包含一个mysql数据库的实例,该数据库由另一个自定义perl脚本更新.
为了将这些数据合并到一个Web前端,我试图编写一个执行以下操作的php网页.
在首页上,Web服务器连接到所有14个数据库服务器并提取其所需的信息,然后在页面上呈现它.目前,这完美无缺,因为所有数据都保存在我的本地机器上,但在生产中,这些数据将分布在14个独立的数据库中.
所以我的问题是,从UI绘画中抽象数据库读取的最佳方法是什么.理想情况下,我希望有完整的网页渲染,加载栏指示用户何时可以期望显示数据.
这是通过AJAX可以实现的,或者我应该朝另一个方向看.
提前致谢.
首先,如果我在即将发布的帖子中得到任何错误的术语,那么这对我来说仍然是新的.
一些背景,我有一个脚本,检查我们的存档网络配置为一组特定的设置.因此,该脚本会运行许多检查,并将结果添加到该检查的数组中.
例如,确保配置syslog的检查被添加到名为@internalsyslogerror的数组中
运行所有检查后,所有检查的数组都会添加到哈希中,密钥为设备名称.
请注意所有代码都使用严格,使用警告
使用以下命令;
$results{$configs} = [@internalsyslogerror, @bordersyslogerror,
@borderntperror, @borderntperror, @internalntperror,
@bordertacacserror, @internaltacacserror, @enablepasswordchecks,
@internalsnmpkeyserror, @timezoneerror, @configregistererror,
@bannererror, @bootregistererror, @domainnameerror];
Run Code Online (Sandbox Code Playgroud)
我所拥有的问题是提取此信息的最优雅方式,我希望减少为了向脚本添加新检查而必须进行的更改量.目前我将不得不将附加数组添加到上面的代码,然后将解除引用部分添加到处理它的子.
这是我目前所做的去引用和输出数组,然后我通过电子邮件发送.
foreach my $k (keys %results) {
push @results, "<b>$k</b><br>";
if (defined $results{$k}[0] ){
push @results, "$results{$k}[0]";
}
if (defined $results{$k}[1] ){
push @results, "$results{$k}[1]";
}
if (defined $results{$k}[2] ){
push @results, "$results{$k}[2]";
}
if (defined $results{$k}[3] ){
push @results, "$results{$k}[3]";
}
if (defined $results{$k}[4] ){
push @results, "$results{$k}[4]";
}
if (defined $results{$k}[5] ){
push @results, "$results{$k}[5]"; …
Run Code Online (Sandbox Code Playgroud) 我目前正在尝试从mysql数据库中提取数据,然后使用设备名称作为键将其放入多维数组中.
我遇到的问题是,每次迭代结果时,代码即时使用会杀死最后一项并替换它.
这是代码;
##sql connection##
$result = mysql_query(SELECT Device.DeviceID, Device.DeviceName, History.HistoryRec, History.HistoryDetectedDate from Device JOIN History ON Device.DeviceID=History.DeviceID WHERE History.Active_LastRound = 1 AND History.DetectedDate <= $hrs);
if (!$result){
die('invaild query:' . mysql_error());
while($row = mysql_fetch_array($result))
{
$last24hoursarray[$row['DeviceName']] = array($row['HistoryRec']);
}
Run Code Online (Sandbox Code Playgroud)
所以我的问题是我的结果集有多个具有相同设备名称的记录,我不知道如何将它们放入一个数组,以便它们不会覆盖最后一项
比如我想要的
switch1 => issue1
switch1 => issue2
switch1 => issue3
switch2 => issue1
etc
Run Code Online (Sandbox Code Playgroud)
但我得到的是;
switch1 => issue3
switch2 => issue1
Run Code Online (Sandbox Code Playgroud)
提前致谢.这是我写的第一篇PHP,所以请温柔:D