首页 > 解决方案 > 使用 Perl 将字符串加一

问题描述

为什么这个 perl 代码将 $v 字符串增加 1

 use strict;
    use warnings;

   my $v='AAAAAYAQUypALsDz';

    print ++$v

而以下不是:

use strict;
use warnings;


my $v='AAAAAmGJoD1dlkkt';
    print ++$v

我得到参数“AAAAAmGJoD1dlkkt”不是预增量中的数字(++)

知道为什么会发生这种情况以及如何使用 Perl 将此类字符串增加 1 吗?

标签: perl

解决方案


正如 ikegami 提到的,perl 不会将第二个字符串解释为数字。所以你可以做

use strict;
use warnings;

my $v='AAAAAmGJoD1dlkkt';
my $v = scalar $v;
print ++$v;

现在,如果您想在字符串末尾添加“1”,您应该这样做

$v .= '1';

推荐阅读