Perl的DATA文件句柄】的更多相关文章

有太多次写完一个perl程序,需要另外新建一个文件来测试,每次觉得很繁琐,但又不得不这么做.没想到原来perl已经提供了解决方案,这就是DATA. 使用很简单,见下面这个例子: #!/usr/bin/perl while (<DATA>) { print; } __DATA__ hello perl 输出结果: hello perl 这个用法太方便太perl了,以后再也不需要使用新建文件的笨方法了. 下面是解释: <IN>可以从打开的句柄IN中获得数据,<STDIN>可…
可以通过文件句柄和<<运算符将文件内容写入到文件中去 #!usr/bin/perl -W use strict; use Spreadsheet::ParseExcel; use utf8; #引入utf8模块 脚本内的字符串使用utf8作为编码格式 binmode(STDOUT,":encoding(gbk)"); #标准输出使用gbk作为编码格式,也可以把gbk改为gb2312 binmode(STDIN,":encoding(gbk)"); #如果…
句柄handle 分为文件句柄和目录句柄,文件句柄实际上包含文件,进程和套接字的读写.   文件句柄的操作步骤 open(FD,"filename"); @lines=<FD>; close(FD);   open()由以下几个用法 open(FD,"> filename") 写数据进文件 open(FD,">> filename") 追加数据进文件 open(FD,"filename") 读文件…
文件句柄 文件句柄用来对应要操作的文件系统中的文件,这么说不太严谨,但比较容易理解.首先为要打开的文件绑定文件句柄(称为打开文件句柄),然后在后续的操作中都通过文件句柄来操作对应的文件,最后关闭文件句柄. 如不理解文件句柄的概念,可将文件句柄看作Linux中文件描述符的概念(当然,它们是不同的,Perl的文件句柄在层次上对应于Linux中的标准IO流).例如特殊的STDIN.STDOUT.STDERR就是perl中预定义好的文件句柄,分别表示标准输入.标准输出.标准错误,要将它们对应到Linux…
文件句柄相关变量 对应的官方手册:http://perldoc.perl.org/perlvar.html#Variables-related-to-filehandles 默认情况下: $/:输入行的分隔符以换行符为单位,可以使用$/指定 $\:print输出行的分隔符为undef,可以使用$\指定,例如指定换行符"\n" $,:print输出列表(也就是每个逗号分隔的部分)的字段分隔符为undef,可以使用$,指定,例如指定空格 $":默认在双引号上下文中,数组被输出的时…
输出复杂结构 Data::Dumper.Data::Dump.Data::Printer都可以用来输出复杂的数据结构.本文只介绍简单的几个输出形式,以后再需要的地方再详细介绍. 前两者建议传递数据结构的引用给对应的函数.方法,当然直接传递非引用也不会错(标量.数组.哈希或引用都允许).第三个Printer,则可以自动判断是否是引用. 例如,下面的数据结构,一个是复杂的hash,一个是相对简单的匿名数组引用,分别使用这3个模块来输出. %Config = ( 'auto_commit' => '0…
1.1. 从标准输入设备输入 <STDIN> 行输入操作在到达文件的结尾时将返回undef,在while循环的条件中不能使用chomp: while (defined($line = <STDIN>)) { print “I saw $line”; } 在循环的内部,我们将看到每一行,一行接着一行,perl提供简写: while(<STDIN>){ print “I saw $_”; } while (defined($_ = <STDIN>)){ prin…
字符串联结和重复操作符   联接: .  重复:x  联接且赋值(类似+=): .=例:  $newstring = "potato" . "head";  $newstring = "t" x 5;  $a = "be";  $a .= "witched"; # $a is now "bewitched" 写文件 open(MF,">/tmp/test.txt"…
一:基础 1:安装perl      centos: yum -y install perl       官网:https://www.perl.org/      升级到5.22:先下载,执行./install.sh 安装           报错:/lib64/libc.so.6: version `GLIBC_2.14' not found (required by perl/bin/perl)           原因:编译时写死了glibc的版本,而系统中只到2.12 ,所以重装gli…
三篇Perl IO基础类文章: Perl的IO操作(1):文件句柄 Perl的IO操作(2):更多文件句柄的模式 Perl文件句柄相关的常见变量 IO对象和IO::Module家族模块 无论是哪种高级编程语言,都提供了较底层的操作系统层IO能力,也提供了更高层次的封装来实现语言级别的IO能力. 像文件描述符这种东西,是属于操作系统层的,比较底层,它是操作系统负责管理的资源.对于Perl来说,文件句柄是Perl提供的比文件描述符更上一层的Perl IO层次的东西,文件句柄直接指向文件描述符(非一一…