复制代码 代码如下:#!/usr/bin/perl -wuse strict;use warnings;use FileHandle;my %fh;my @array = (1..10);for(1..5){ open $fh{$_},">$_.txt" or die;}for(1..5){ #print $fh{$_} "$_\n"; 此处错误 $fh{$_}->print( "$_\n" ); #为FileHandle里的函数 或 用(my $h = $fh{$_}; print $h "$_\n";)亦可 }注意:上述错误是由于:<>里面不是简单标量就会被当glob,Perl 支持 <FILEHANDLE> 或者是 <$sc...
转载http://blog.chinaunix.net/uid-20639775-id-154591.htmlPerl有三种变量:纯变量(Scalar Varible)数组(Array)关联数组(Associative array)一、纯变量 又称标量变量,是Perl处理的最简单的数据类型。标量可以是数字(如2,3或2.5e6), 也可以是字符串(如“hello”和“网上学园”)。 Perl中的标量变量以美元符号$和一个字母开始,以后可以是字母、数字和下划线,大小写有区别,而且所有字母、数字和下划线都有效。如: $...
perl 内置变量$- 当前页可打印的行数,属于Perl格式系统的一部分$! 根据上下文内容返回错误号或者错误串$” 列表分隔符$# 打印数字时默认的数字输出格式$$ Perl解释器的进程ID$% 当前输出通道的当前页号$& 与上个格式匹配的字符串$( 当前进程的组ID$) 当前进程的有效组ID$* 设置1表示处理多行格式.现在多以/s和/m修饰符取代之.$, 当前输出字段分隔符$. 上次阅读的文件的当前输入行号$/ 当前输入记录分隔符,默认情况是新行$: 字符设置...
一、正则表达式特殊变量: 1、$n :包含上次模式匹配的第n个子串 2、$& :前一次成功模式匹配的字符串 3、$` :前次匹配成功的子串之前的内容 4、$’ :前次匹配成功的子串之后的内容 5、$+ :前一次使用括号的模式匹配的字符串.二、文件句柄特殊变量: 1、$| :如果设置为零,在每次调用函数write或print后,自动调用函数fflush,将所写内容写回文件 2、$% :当前输出页号 3、$= :当前每页长度 4、$- :当前页...
转载
Perl语言中一些内置变量等,$x、qw、cmp、eq、ne等字母
符号
释义eq
= =
equal(等于)ne
!=
not equal(不等于)cmp比较qq
“”
双引号q
‘’
单引号qw
(“”,“”)
带双引号和括号逗号的$&正则表达式中匹配字符存放处$!系统产生的信息@ARGV包含从命令行得到的所有参数$|=1表示清除缓存,表示程序无需进入缓存区,直接print$*
命令行参数:1 2 3
“1 2 3”$@"1", "2", "3"$#3(3个参数)
重复两次相同的字符串似乎是错误的grep -q '+::::::' /etc/passwd || echo '+::::::' >> /etc/passwd但是如果我这样做{
local a='+::::::'
local b="/etc/passwd"
grep -q $a $b || echo $a >> $b
}bash抱怨-bash: local: can only be used in a function题
有没有一种方法可以像在Perl中使用{…}一样在Bash中执行局部变量?解决方法:对于您的特定示例,您可以使用子外壳,该子外壳可以有效地本地化其中分配的所有变量.(
a='+::::::'...
原文链接:https://my.oschina.net/u/1762296/blog/228567 一、正则表达式特殊变量: 1、$n :包含上次模式匹配的第n个子串 2、$& :前一次成功模式匹配的字符串 3、$` :前次匹配成功的子串之前的内容 4、$’ :前次匹配成功的子串之后的内容 5、$+ :前一次使用括号的模式匹配的字符串.二、文件句柄特殊变量: 1、$| :如果设置为零,在每次调用函数write或print后,自动调用函数fflush,将所写内容写回文件 2、$% ...
#!/usr/bin/perlsub g_print{print "$x\n";} #my local都叫做私有变量。 sub test_my{ my $x=11;#my定义的变量只能在该块体(两个{}之间)中使用,不能向内传递 print"call-my $x\n";#11,就近原则 g_print;#my参数不能向内传递,所以还是输出9}sub test_local{ local $x=20;#local也是私有变量,但是与my的区别是,local可以向内传递 print"call-local $x\n";#20 g_print;#209}
$x=9;test_my...
转载http://blog.chinaunix.net/uid-20639775-id-154591.html
Perl有三种变量:纯变量(scalar varible)
数组(array)
关联数组(associative array)一、纯变量
又称标量变量,是Perl处理的最简单的数据类型。标量可以是数字(如2,3或2.5e6), 也可以是字符串(如“hello”和“网上学园”)。
Perl中的标量变量以美元符号$和一个字母开始,以后可以是字母、数字和下划线,大小写有区别,而且所有字母、数字和下划线都有效。如:...
我正在使用“perl -d”开关在SuSe Linux上调试perl程序.
在调试时,程序报告XYZ变量未设置
如何在调试器中设置XYZ的值?
我尝试在调试器内部进行操作但不能正常工作.set XYZ=ABC
my $XYZ=ABC
setenv XYZ ABC我对此做了一些谷歌.但找不到我想要的东西.解决方法:调试控制台采用Perl表达式,因此如果它是一个字符串,则需要引用该值.
您必须将程序移动到抛出错误的行之前(查看断点,它是调试器中的b< line>)然后设置值.> $XYZ='ABC'这是一...