如何从Perl CGI脚本中删除ASCII代码28 0x1C(FS)?

如何从Perl CGI脚本中删除ASCII代码28 0x1C(FS)?,perl,character,ascii,Perl,Character,Ascii,我有以下代码片段 @trunkarray = split(/:/,$trunkid); my $compString = ""; foreach $value ( @trunkarray ) { print "<TR> <TD> $value </TD> </TR>"; if ( ! ($compString) ) { $compString = "$value"; } else {

我有以下代码片段

@trunkarray = split(/:/,$trunkid);
my $compString = "";

foreach $value ( @trunkarray ) {
    print "<TR> <TD> $value </TD> </TR>";

    if ( ! ($compString) ) {
        $compString = "$value";
    }
    else {
        $compString = $compString . ",$value";
    }
}   

&updateOperation($compString);

不管出于什么原因,你都有相当于

my $compString = "428331:\x{1C}428332:\x{1C}428333";
你可以用它来修理

$compString =~ s/\x1C//g;

您的代码变为

sub updateOperation {                                  # XXX Bad name
   my @trunk_grp_ids = @_;

   while (@trunk_grp_ids) {
      my $trunk_grp_ids_list =
         join ', ',
            map $dbh->quote($_),
               splice(@trunk_grp_ids, 0, 500);

      $dbh->do("
         UPDATE TRUNKGROUP
            SET source='D'
          WHERE trunkgrpid in ( $trunk_grp_ids_list )
      ");
   }
}   

my $compString = "428331:\x{1C}428332:\x{1C}428333";   # XXX Bad name
$compString =~ tr/\x1C//d;
my @trunk_grp_ids = split /:/, $compString;
updateOperation(@trunk_grp_ids);

不管出于什么原因,你都有相当于

my $compString = "428331:\x{1C}428332:\x{1C}428333";
你可以用它来修理

$compString =~ s/\x1C//g;

您的代码变为

sub updateOperation {                                  # XXX Bad name
   my @trunk_grp_ids = @_;

   while (@trunk_grp_ids) {
      my $trunk_grp_ids_list =
         join ', ',
            map $dbh->quote($_),
               splice(@trunk_grp_ids, 0, 500);

      $dbh->do("
         UPDATE TRUNKGROUP
            SET source='D'
          WHERE trunkgrpid in ( $trunk_grp_ids_list )
      ");
   }
}   

my $compString = "428331:\x{1C}428332:\x{1C}428333";   # XXX Bad name
$compString =~ tr/\x1C//d;
my @trunk_grp_ids = split /:/, $compString;
updateOperation(@trunk_grp_ids);

不管出于什么原因,你都有相当于

my $compString = "428331:\x{1C}428332:\x{1C}428333";
你可以用它来修理

$compString =~ s/\x1C//g;

您的代码变为

sub updateOperation {                                  # XXX Bad name
   my @trunk_grp_ids = @_;

   while (@trunk_grp_ids) {
      my $trunk_grp_ids_list =
         join ', ',
            map $dbh->quote($_),
               splice(@trunk_grp_ids, 0, 500);

      $dbh->do("
         UPDATE TRUNKGROUP
            SET source='D'
          WHERE trunkgrpid in ( $trunk_grp_ids_list )
      ");
   }
}   

my $compString = "428331:\x{1C}428332:\x{1C}428333";   # XXX Bad name
$compString =~ tr/\x1C//d;
my @trunk_grp_ids = split /:/, $compString;
updateOperation(@trunk_grp_ids);

不管出于什么原因,你都有相当于

my $compString = "428331:\x{1C}428332:\x{1C}428333";
你可以用它来修理

$compString =~ s/\x1C//g;

您的代码变为

sub updateOperation {                                  # XXX Bad name
   my @trunk_grp_ids = @_;

   while (@trunk_grp_ids) {
      my $trunk_grp_ids_list =
         join ', ',
            map $dbh->quote($_),
               splice(@trunk_grp_ids, 0, 500);

      $dbh->do("
         UPDATE TRUNKGROUP
            SET source='D'
          WHERE trunkgrpid in ( $trunk_grp_ids_list )
      ");
   }
}   

my $compString = "428331:\x{1C}428332:\x{1C}428333";   # XXX Bad name
$compString =~ tr/\x1C//d;
my @trunk_grp_ids = split /:/, $compString;
updateOperation(@trunk_grp_ids);


大概字符
FS
“\x1C”
)已经存在于
$trunkid
变量中。该值的来源是什么?请添加以下
use Data::Dumper
$Data::Dumper::Useqq=1
打印转储程序\@数组
并显示结果trunkid的源代码来自表单,选中的复选框是trunkid的结果,用“:”(冒号)分隔。简单的答案是
tr/\x1C//d
,但这是解决代码中单独错误的一种方法。您应该修复错误,而不是删除其影响。如果
$trunkid
的值是单个数据库列的内容,那么写入数据库的代码很可能有问题,但您应该显示检索的SQL语句供我们使用sure@PatrickJ.S.:那将是
split/:\x1C?/,$trunkid
大概是字符
FS
“\x1C”
)已存在于
$trunkid
变量中。该值的来源是什么?请添加以下
use Data::Dumper
$Data::Dumper::Useqq=1
打印转储程序\@数组
并显示结果trunkid的源代码来自表单,选中的复选框是trunkid的结果,用“:”(冒号)分隔。简单的答案是
tr/\x1C//d
,但这是解决代码中单独错误的一种方法。您应该修复错误,而不是删除其影响。如果
$trunkid
的值是单个数据库列的内容,那么写入数据库的代码很可能有问题,但您应该显示检索的SQL语句供我们使用sure@PatrickJ.S.:那将是
split/:\x1C?/,$trunkid
大概是字符
FS
“\x1C”
)已存在于
$trunkid
变量中。该值的来源是什么?请添加以下
use Data::Dumper
$Data::Dumper::Useqq=1
打印转储程序\@数组
并显示结果trunkid的源代码来自表单,选中的复选框是trunkid的结果,用“:”(冒号)分隔。简单的答案是
tr/\x1C//d
,但这是解决代码中单独错误的一种方法。您应该修复错误,而不是删除其影响。如果
$trunkid
的值是单个数据库列的内容,那么写入数据库的代码很可能有问题,但您应该显示检索的SQL语句供我们使用sure@PatrickJ.S.:那将是
split/:\x1C?/,$trunkid
大概是字符
FS
“\x1C”
)已存在于
$trunkid
变量中。该值的来源是什么?请添加以下
use Data::Dumper
$Data::Dumper::Useqq=1
打印转储程序\@数组
并显示结果trunkid的源代码来自表单,选中的复选框是trunkid的结果,用“:”(冒号)分隔。简单的答案是
tr/\x1C//d
,但这是解决代码中单独错误的一种方法。您应该修复错误,而不是删除其影响。如果
$trunkid
的值是单个数据库列的内容,那么写入数据库的代码很可能有问题,但您应该显示检索的SQL语句供我们使用sure@PatrickJ.S.:那将是
split/:\x1C?/,$trunkid
woops!我到处写
FC
,而不是
1C
。修好了,谢谢大家。这很有帮助。:)呜呜!我到处写
FC
,而不是
1C
。修好了,谢谢大家。这很有帮助。:)呜呜!我到处写
FC
,而不是
1C
。修好了,谢谢大家。这很有帮助。:)呜呜!我到处写
FC
,而不是
1C
。修好了,谢谢大家。这很有帮助。:)