小编qui*_*kxi的帖子

如何在perl中拆分多个模式的字符串?

我想拆分一个包含多个模式的字符串:

恩.

my $string= "10:10:10, 12/1/2011";

my @string = split(/firstpattern/secondpattern/thirdpattern/, $string);

foreach(@string) {
    print "$_\n";
}
Run Code Online (Sandbox Code Playgroud)

我希望得到一个输出:

10
10
10
12
 1
2011
Run Code Online (Sandbox Code Playgroud)

这样做的正确方法是什么?

regex string perl split

13
推荐指数
2
解决办法
7万
查看次数

如何使用逗号分隔符调用批处理文件中的参数

我想用逗号分隔的参数调用批处理文件.我怎么能做到这一点?

我希望它像这个例子.

我有一个带脚本的text.bat:

@echo off
set test=%1
echo Sample %test% batch.
Run Code Online (Sandbox Code Playgroud)

我想像这样运行批处理:

c:\text.bat this,is,sample
Run Code Online (Sandbox Code Playgroud)

我期待这样的结果:

Sample this,is,sample batch.
Run Code Online (Sandbox Code Playgroud)

知道我怎么能做到这一点?

谢谢.

batch-file

12
推荐指数
2
解决办法
1万
查看次数

如何比较perl中的字符串日期时间?

我在字符串"11:56:41,11/22/2011"中有这个日期时间格式.

这就是我想要的:

比较两个日期时间字符串,如.

$date1 = "11:56:41, 11/22/2011";
$date2 = "11:20:41, 11/20/2011";
if($date2 < $date1) {
    do something...
} else {
    do nothing...
}
Run Code Online (Sandbox Code Playgroud)

任何想法我怎么能在perl中实现这一点?

perl

5
推荐指数
3
解决办法
4万
查看次数

具有零值的退出代码状态是否始终意味着在Perl中成功运行?

我有一个将执行三个应用程序的Perl脚本.所有这些都有不同的退出代码状态.

第一个应用程序退出代码状态为1.应用程序正常退出,没有任何问题.(成功)

第二个应用程序退出代码状态为99.仍然,应用程序正常退出没有任何问题.(成功)

最后,第三个应用程序退出代码状态为0.与第一个和第二个相同,应用程序正常退出而没有任何问题.(成功)

注意:已将退出代码状态向右移8位.

问题是,如果成功运行,退出代码状态是否总是返回0?

请不要苛刻评论,我只是困惑.请指教.

perl status exit-code return-code exitstatus

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

如何将两个值(行)组合成一个具有自定义值的行?

所以我有这个样本表.包含OS所有互联网商店分支机构的安装数据.

ID   ShopName   PCName   OS
1    Mineski    M101     WinXP
2    Mineski    M102     WinXP
3    GameCity   G201     Win7
4    GameCity   G202     Win7
5    CyberBob   C301     WinXP
6    CyberBob   C302     Win7
Run Code Online (Sandbox Code Playgroud)

我需要查询OS由Shop安装的.

我可以使用此查询执行此操作.

select ShopName, OS
from ShopInv
group by ShopName, OS
Run Code Online (Sandbox Code Playgroud)

预期结果将是:

ShopName    OS
CyberBob    Win7
CyberBob    WinXP
GameCity    Win7
Mineski     WinXP
Run Code Online (Sandbox Code Playgroud)

但是,我只希望列出每个商店1排.因此,如果OS上面的示例中有超过1行(由于安装的版本不同).我只是想显示混合.

所以结果将是这样的:

ShopName    OS
CyberBob    Mixed
GameCity    Win7
Mineski     WinXP
Run Code Online (Sandbox Code Playgroud)

这在SQL Server 2008上是否可行?

SQLFiddle

注意:我对如何陈述我的问题有点困惑,所以如果你愿意,请编辑它.:)

sql database sql-server sql-server-2008

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

SQL Server 2000查询最大日期的总值和值

我有这个RoomTable有价值

SID   Room   Date        APhase   BPhase   ACount  BCount
1     One    10/28/2012  4        5         3       6
2     One    10/29/2012  2        3        -1      -1
3     One    10/30/2012  4        5         7      -1
4     Two    10/28/2012  8        3         2       3
5     Two    10/30/2012  3        5         4       6
6     Three  10/29/2012  5        8         2      -1
7     Three  10/30/2012  5        6        -1       4
8     Four   10/29/2012  6        2        -1      -1
9     Four   10/30/2012  5        8        -1      -1
Run Code Online (Sandbox Code Playgroud)

我想要的是返回以下内容:

  1. 每个房间的APhase和BPhase的总和.
  2. 每个房间最大日期的ACount和BCount的价值
  3. 如果ACount值为-1,则使用上一个日期.与BCount相同.
  4. 如果ACount值为-1,前一个日期为-1,依此类推.然后使用0.与BCount相同.

我可以使用此查询获得数字1的查询

SELECT Room, sum(APhase) …
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-server-2000

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

如何在Windows XP上使用Perl运行可执行文件?

如何使用perl运行可执行文件?

例如,我想运行一个普通的notepad.exe.我怎么能实现这个目标?

这就是我所拥有的:

my @args = system("notepad.exe");
system(@args) == 0  or die "system @args failed: $?";
Run Code Online (Sandbox Code Playgroud)

但它返回:

Can't spawn "cmd.exe": No such file or directory blah blah blah.

我错过了什么?

perl executable

2
推荐指数
1
解决办法
9297
查看次数

为什么md5总是在某个文件上发生变化?

我有这个任务需要调查为什么文件的md5值不断变化.

例:

  1. 我需要生成某台机器的诊断文件.

  2. 生成文件后,它会生成一个.zip文件,比如Diag.zip,它包含该特定机器的所有信息/文件.

  3. 在Diag.zip文件中包含一个.xls,比如说,Data.xls包含该特定机器中所有文件的所有摘要,包括文件目录,文件版本,文件大小,创建时间和md5.

  4. 然后将Data.xls的所有信息保存在数据库中.

大约一天后,在步骤1-4中再次执行此操作.

然后,当我在2周范围内查询数据库中Data.xls的所有保存数据时,它显示该特定计算机中的几乎所有文件都更改了md5值.

问题是:为什么每次生成新的诊断文件时md5值总是会改变?

md5

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

有没有办法在安装Perl时安装perl模块?

我想在本地安装Perl(没有互联网).我的一些工作代码需要添加一些模块才能使其工作(对于全新安装的perl).但在我的情况下,我无法安装模块,因为我没有互联网连接.

是否可以使用Text :: CSV等模块在本地安装Perl?

请指教.

perl

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

如何用逗号分割字符串而不在perl的引号内包含逗号?

我有以下代码:

my $file = 'c:\test.log';
open (FILE, "<", $file) or die $!;
my @list = grep /\bAdobe\b/, <FILE>;
my $days;
foreach (@list) {
$days = $_;
print "$days\n";
}
Run Code Online (Sandbox Code Playgroud)

预期结果是:

"Adobe","10:10:10, 11/10/2011","Ready"
Run Code Online (Sandbox Code Playgroud)

我想用以下代码用逗号分割结果:

my @sample = split(',', $days);
Run Code Online (Sandbox Code Playgroud)

预期结果是:

"Adobe"
"10:10:10
11/10/2011"
"Ready"
Run Code Online (Sandbox Code Playgroud)

但它不是我想要做的:

我想打印输出如下:

"Adobe"
"10:10:10, 11/10/2011"
"Ready"
Run Code Online (Sandbox Code Playgroud)

如何在不使用/安装任何模块(如Text :: CSV)的情况下实现此目的.

请指教,谢谢.

perl split comma

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