小编JB.*_*JB.的帖子

StringBuffer 可以用作 HashMap 中的键吗?

StringBuffer 可以作为 HashMap 中的键吗?
如果是这样,使用 String 和 StringBuffer 作为键有什么区别?

java hashmap

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

如何在Perl中运行时绑定DBI参数?

我有以下代码:

sub run_query { 
    my $name = shift || undef;
    my $sql  = (defined $name ) ? "select * from table where name = ?" :
                                  "select * from table";
    my $sth  = $dbh->prepare("$sql");
    $sth->execute($name);
}
Run Code Online (Sandbox Code Playgroud)

上面的子例程需要按如下方式工作:如果$name提供,则运行第一个查询,否则从表中获取所有数据.我该如何绑定该name字段?如果它被提供,我想它动态绑定.

perl dbi

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

在perl中,如何使用变量值作为哈希元素

我是Perl的新手,在Learning Perl一书中找不到问题的答案.

例如,我有一个像这样的数组:

my @loop=("op1_sel","op2_sel");
Run Code Online (Sandbox Code Playgroud)

和两个哈希表:

my %op1_sel=(
       "bibuf","000",
       "self","101"
            );
my %op2_sel=(
        "zero","1",
        "temp","0"
            );
Run Code Online (Sandbox Code Playgroud)

现在我想在循环中使用变量来循环特定键的哈希表,例如:

foreach(@loop)
{
     print  ${$_}{"bibuf"} ;
}
Run Code Online (Sandbox Code Playgroud)

但它似乎不起作用,我知道这${$_}部分是错的,任何人都可以告诉我如何解决这个问题?

variables perl hash

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

使用Perl无法读取大小约为2GB的文件中的某些单词的计数

我编写了一个Perl程序,它将匹配日志文件中的某些单词并将结果存储在数据库中.问题是这个程序适用于小文件,但不适用于文件大小~2GB.是否需要更改尺寸或程序?

use POSIX qw(strftime);

# load module
use DBI;

open( FILE, "/root/temp.log" ) or die "Unable to open logfile:$!\n";
$count_start   = 0;
$count_interim = 0;
$count_stop    = 0;

while (<FILE>) {
  @test = <FILE>;
  foreach $line (@test) {

    if ( $line =~ m/server start/ ) {

      #print "yes\n";
      $count_start++;
    }
    elsif ( $line =~ m/server interim-update/ ) {
      $count_stop++;
    }
    elsif ( $line =~ m/server stop/ ) {
      $count_interim++;
    }

  }
  print "$count_start\n";
  print "$count_stop\n";
  print "$count_interim\n";
  $now_string = strftime …
Run Code Online (Sandbox Code Playgroud)

shell perl

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

无法运行perl程序:无法使用perl5.8.4在@INC中找到Time/Piece.pm并且无法使用perl 5.12.3在@INC中找到DBI.pm

我有Solaris 10,我正在尝试运行Perl程序.

我安装了两个perl版本:

/usr/bin/perl 版本5.8.4

/usr/local/bin/perl 版本5.12.3

我已经安装了DBI软件包(它已安装在这里/usr/perl5/site_perl/5.8.4/sun4-solaris-64int/auto/DBI/.packlist),我通过执行不同perl版本的Perl程序得到的问题是(在ubuntu中工作正常).

bash-3.00# perl temp.pl
Can't locate Time/Piece.pm in @INC (@INC contains: /usr/perl5/5.8.4/lib/sun4-   
solaris-64int /usr/perl5/5.8.4/lib /usr/perl5/site_perl/5.8.4/sun4-solaris-64int
/usr/perl5/site_perl/5.8.4 /usr/perl5/site_perl /usr/perl5/vendor_perl/5.8.4/sun4- 
solaris-64int /usr/perl5/vendor_perl/5.8.4 /usr/perl5/vendor_perl .) at    
temp.pl line 4.
BEGIN failed--compilation aborted at temp.pl line 4.

bash-3.00# /usr/local/bin/perl temp.pl
Can't locate DBI.pm in @INC (@INC contains: /usr/local/lib/perl5/site_perl/5.12.3 
/sun4-solaris /usr/local/lib/perl5/site_perl/5.12.3 /usr/local/lib/perl5/5.12.3/sun4- 
solaris /usr/local/lib/perl5/5.12.3 /usr/local/lib/perl5/site_perl .) at temp.pl line5.
BEGIN failed--compilation aborted at temp.pl line 5.

我已经尝试了很多方法,但没有得到如何在solaris上运行我的Perl程序.有人可以帮忙吗.

以下是我的计划.实际上它是由@Borodin重新定义的.非常感谢他.

use strict;
use warnings;

use …
Run Code Online (Sandbox Code Playgroud)

perl solaris perl-module solaris-10

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

php shuffle有条件

我有一个包含200多个项目的大型JSON文件.其中有5组数据.每组至少有30个项目.我使用它来区分它们"p" tag,就像"p":"1","p":"2","p":"3","p":"4","p":"5"在json数据中一样.现在我想从每个组中获取2个项目,并且总计10个项目随机订单.

为了便于解释,我设置了一些简单的数据,如下所示."p":"1"在其组中有4个项目,"p":"2"在其组中有4个项目.

现在如何使用随机订单来获取2个项目"p":"1"和2个项目"p":"2"

$json = <<<ETO
[
   {
      "a":"apple",
      "p":"1"
   },
   {
      "a":"orange",
      "p":"1"
   },
   {
      "a":"pear",
      "p":"1"
   },
   {
      "a":"banana",
      "p":"1"
   },
   {
      "a":"Chauli",
      "p":"2"
   },
   {
      "a":"Carrot",
      "p":"2"
   },
   {
      "a":"Lettuce",
      "p":"2"
   },
   {
      "a":"Potato",
      "p":"2"
   }
]
ETO;

$data = json_decode($json);
shuffle($data);// some shuffle like this is very ugly...
foreach($data as $row){                         
      $aoo = 1;
      $boo = 1;
      if($row->p==1){
          echo $row->p.': '.$row->a.'<br />';
          $aoo++;
          if($aoo==2){
            break;  
          }
      } …
Run Code Online (Sandbox Code Playgroud)

php arrays shuffle

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

如何在Windows环境中的Node.js中编写第一个应用程序?

我已经Node.js从我的windows xp os中的网站下载了.我已经通过微软安装程序安装了它.我不知道如何编写我的第一个应用程序,在哪里保存它们以及如何在Windows中执行它们.我有一个node.js命令提示符,但我不能使用它.我搜索了很多,但只有linux和的指令mac.我没有找到任何合适的tutorial例子,我可以从头开始创建节点应用程序.

如果有人可以提供一些documentationsteps任何这样的教程,我可以从中获得帮助,这对我来说会很棒.

javascript windows node.js web

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

为什么数组使用,(逗号)和.(句号)打印不同的2值?

 my @arr = qw(12 5 78 56 1 785);
 my @new_arr = sort { $a <=> $b } @arr;
 print  @new_arr . "\n\n" ; #### print 6
 print  @new_arr , "\n\n" ; #### print value in short order
Run Code Online (Sandbox Code Playgroud)

嗨,有谁能告诉我为什么它打印不同的2值.

Thx,Vijay

perl

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

在Perl生成的XML中转义"<"

我需要使用Perl代码生成XML输出.我正在尝试不使用任何库,因为它是非常简单的临时XML,可供流程中的另一个步骤使用.

通过我的perl代码,我需要编写类似于导致解析器错误的内容,以及以下XML输出:"url http://www.123.42 1345&4686=userid:fs/fsfsf"

<text>url http://www.123.42 1345&4686=userid:fs/fsfsf  </text>
Run Code Online (Sandbox Code Playgroud)

所以我试图写,"url \<![CDATA[<http://www.123.42 1345&4686=userid:fs/fsfsf]\>"但这也导致解析器错误和以下输出:

<text>URL &lt;![CDATA[http://www.123.42 1345&4686=userid:fs/fsfsf]&gt;</text>
Run Code Online (Sandbox Code Playgroud)

我想得到这个:

<text>URL <![CDATA[http://www.123.42 1345&4686=userid:fs/fsfsf]></text>
Run Code Online (Sandbox Code Playgroud)

如何使XML转义为"<"字符?

xml perl

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

当我使用变量而不是字符串文字时,Perl方法失败

在Perl脚本中获取一些我不太了解的奇怪行为.我试图将我的一些魔术字符串文字变成可以更容易修改的变量.

我的子程序中有一个参数叫做$in_feature.现在它的价值很简单"in_feature".我可以把它打印出来看起来很好.到现在为止还挺好...

但是这段代码失败了:

if ($in_feature != "" && !$blockModel->is_field($in_feature))
{
    print "ERROR: was expecting to find a variable in the block model called $in_feature.\n";
        return;
}
Run Code Online (Sandbox Code Playgroud)

如果我删除字符串比较并将方法调用更改回字符串文字,它按预期工作.

if (!$blockModel->is_field("in_feature"))
{
    print "ERROR: was expecting to find a variable in the block model called $in_feature.\n";
        return;
}
Run Code Online (Sandbox Code Playgroud)

所以变量是某种字符串,等于空字符串,不能用来代替字符串?!?这是为什么?

perl

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

Perl"else"语句没有执行

我使用ActivePerl脚本接收CSV文件并创建加载到数据库中的XML文件.这些是用户ID数据库条目,名称,地址等.我们一直使用家庭电话号码字段来生成初始密码(我们鼓励用户立即更改!).手机的扩散意味着我有一群人没有家用电话,所以我想在家庭电话领域为空时使用手机领域.

我的输入字段如下所示:

#   0 Firstname
#   1 Lastname
#   2 VP (voicepart)
#   3 Address
#   4 City
#   5 State
#   6 Zip
#   7 Phone
#   8 Mobile
#   9 Email
Run Code Online (Sandbox Code Playgroud)

这是我用来创建密码的Perl代码 - 当字段7中有值时,create_password子例程正在工作:

my $pass_word = '';
my $pass_word = create_password($fields[7]);
if (my $pass_word = '') { 
  print "Use the cell phone number \n";
  my $pass_word = create_password($fields[8]);
}
Run Code Online (Sandbox Code Playgroud)

"打印"声明是告诉我它认为它正在做什么.

这看起来像我应该工作,但"if"的声明永远不会发生.Print语句不打印,只有字段8中的值的任何人都会生成密码.我测试$ pass_word的值的方式一定有问题,但我看不到它.我应该测试$ fields [7]和$ fields [8]的值而不是变量值吗?如果这不起作用,你如何测试Perl变量的空值?

perl if-statement

0
推荐指数
2
解决办法
114
查看次数

程序保持循环

由于某些我无法理解的原因,当我在执行它时,这个程序会保持循环CMD.

#include <stdio.h>
int main() {
    char array [] = {'b','f','r','o','a','u','v','t','o','\0'};
    int grootteArray = sizeof(array);
    int grootteChar = sizeof(char);               
    int lengteArray = grootteArray / grootteChar;
    int i;
    for (i = 0; i < lengteArray + 1; i + 2) {
        printf("%c", array[i]);
    }
    return 0; 
}
Run Code Online (Sandbox Code Playgroud)

c

0
推荐指数
2
解决办法
162
查看次数

jQuery链接切换不隐藏div

我已经编写了一些jQuery代码来切换div.它正在工作,但我需要它立即切换下一个div,这是没有发生的.

$(document).ready(function() {
    $('.nav-toggle').click(function() { 
       var id = $(this).attr('name');
       $('#tab' + id).slideToggle('slow');
       return false; 
    });
});
Run Code Online (Sandbox Code Playgroud)

jquery

-4
推荐指数
1
解决办法
692
查看次数