相关疑难解决方法(0)

如何在反引号中正确使用perl变量名?

我需要在bash shell上执行以下代码:

mogrify -resize 800x600 *JPG
Run Code Online (Sandbox Code Playgroud)

由于宽度和高度是变量,我试过这个:

`mogrify -resize $widx$hit *JPG`
Run Code Online (Sandbox Code Playgroud)

但是在编译时,我得到了错误Global symbol "$widx" requires explicit package name at getattach.pl line 131.,这是因为编译器将$ widx视为新的未声明变量而不是$ wid和x.

我尝试在反引号中插入双引号,但代码的执行在没有任何消息的情况下停止.

在反引号中为shell执行插入变量名的正确方法是什么?它们可以连接吗?

variables perl backticks

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

如何用Perl中的计算表达式替换?

有一个文件dummy.txt

内容如下:

 9/0/2010
 9/2/2010
 10/11/2010
Run Code Online (Sandbox Code Playgroud)

我必须将月份部分(0,2,11)改为+1,即(1,3,12)我写了替换正则表达式如下

 $line =~ s/\/(\d+)\//\/\1+1\//;
Run Code Online (Sandbox Code Playgroud)

这是打印

9/0+1/2010
9/2+1/2010
10/11+1/2010
Run Code Online (Sandbox Code Playgroud)

如何使它添加 - 3数字而不是执行字符串concat?2+1??

regex perl substitution

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

在打印功能中调用子程序

我有一个子程序:calcPercentage.我想打印此子例程返回的值.

我可以在一行中完成此操作,类似于:

print "Result is: $calcPercentage($a,$b)"
Run Code Online (Sandbox Code Playgroud)

perl

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

如何组合两个字符串并将结果视为变量的名称?

如何组合两个字符串并将结果视为变量的名称?

我试过这个:

my $container0 = "voila";
my $container1 = "ssss"; 
my $container2 = "swat"; 

my $container3 = int rand 2; 

my $ans = '$container'."$container3"; 

print "$ans"; 
Run Code Online (Sandbox Code Playgroud)

但它打印:

$container2
Run Code Online (Sandbox Code Playgroud)

我要打印:

swat
Run Code Online (Sandbox Code Playgroud)

(变量的值$container2).我怎样才能做到这一点?

perl

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

标签 统计

perl ×4

backticks ×1

regex ×1

substitution ×1

variables ×1