perl用变量做句柄
2011-06-14 17:15
253 查看
open 有一个特殊的地方,就是如果你给它一个未定义(这是为什么用hash的原因)的变量做间接文件句柄,那么 Perl 会自动为你定义那个变量,也就是自动把它激活,使它包含一个合适的文件句柄引用。
#!/usr/bin/perl -w
use 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> 或者是 <$scalar> .
#!/usr/bin/perl -w
use 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> 或者是 <$scalar> .
相关文章推荐
- perl用变量做句柄介绍
- perl的特殊变量
- 小时代5-perl 常量、多维数组及变量的初始化
- perl中的变量内插
- [Perl语法篇] 05 -- 变量作用域:our、local、my、state
- Perl中预定义的一些常见特殊变量
- Perl内部保留变量(系统变量)
- Perl内置及特殊变量
- perl常用的内置特殊变量
- 深入剖析五大Perl变量类型使用
- perl语言内置特殊变量
- Perl中的变量(1)
- Shell向Perl脚本中传递变量的方法
- perl的内置特殊变量
- perl 子程序传递参数不同类型变量 设置
- perl之变量
- Perl 内置特殊变量
- Perl_默认变量_$_and_@_
- perl 内置变量 好文