perl文件句柄的传递】的更多相关文章

perl 返回文件句柄的2种方式 1.使用 \* #!/usr/bin/perl use strict; sub openfile() { my $path=shift; open(FILE,"$path") or die "Can't open $path $!\n "; return \*FILE; } my $temp=&openfile("config"); my @file=<$temp>; print @file;…
文件句柄相关变量 对应的官方手册:http://perldoc.perl.org/perlvar.html#Variables-related-to-filehandles 默认情况下: $/:输入行的分隔符以换行符为单位,可以使用$/指定 $\:print输出行的分隔符为undef,可以使用$\指定,例如指定换行符"\n" $,:print输出列表(也就是每个逗号分隔的部分)的字段分隔符为undef,可以使用$,指定,例如指定空格 $":默认在双引号上下文中,数组被输出的时…
目前还没介绍Perl的面向对象,所以这节内容除了几个注意点,没什么可讲的. 以前经常使用大写字母的句柄方式(即所谓的裸字文件句柄,bareword filehandle),现在可以考虑转向使用变量文件句柄的形式,因为只有使用变量句柄的方式,才能创建文件句柄引用. open DATA,">>","/tmp/a.log" or die "can't open file: $!"; open my $data_fh ,">&…
1 如果是只有一个参数要传,且是hash,最直接想到的办法就是像传其他类型参数一样直接传, 如:   subFuntion(%hash1); 2 如果有多于一个参数要传,这里假设只有一个参数的类型是hash的,并把hash放到最前面, 如: subFuntion(%hash1, $var2); 这样做结果是错误的,结果是子函数把第2个参数$var2 合并到第一个hash上面去,不是你希望得到的 若把hash放在最后面的位置上,就可以了,代码如下: &subFuntion($var, %hash)…
open函数除了> >> <这三种最基本的文件句柄模式,还支持更丰富的操作模式,例如管道.其实bash shell支持的重定向模式,perl都支持,即使是2>&1这种高级重定向模式,perl也有对应的模式. 打开管道文件句柄 perl程序内部也支持管道,以便和操作系统进行交互.例如,将perl的输出在程序内部就输出给操作系统的命令,或者将操作系统的命令执行结果输出给perl程序内部.所以,perl有2种管道模式:句柄到管道.管道到句柄. 例如,将perl print语…
三篇Perl IO基础类文章: Perl的IO操作(1):文件句柄 Perl的IO操作(2):更多文件句柄的模式 Perl文件句柄相关的常见变量 IO对象和IO::Module家族模块 无论是哪种高级编程语言,都提供了较底层的操作系统层IO能力,也提供了更高层次的封装来实现语言级别的IO能力. 像文件描述符这种东西,是属于操作系统层的,比较底层,它是操作系统负责管理的资源.对于Perl来说,文件句柄是Perl提供的比文件描述符更上一层的Perl IO层次的东西,文件句柄直接指向文件描述符(非一一…
不同进程之间的通信或进程间通信(InterProcess Communication, IPC),是一个涉及多个方面的主题.Perl提供了多种进程间通信的方式,本文将逐一介绍.本文的内容主体来自于<Pro Perl>的第21章. 单向管道(unidirectional pipe) 管道是两个文件描述符(文件句柄)通过一根管道连接起来,一端的文件句柄读,另一端的文件句柄写,从而实现进程间的通信. Perl使用pipe函数可以创建单向管道,也就是一端只可读.一端只可写的管道,所以它需要两个文件句柄…
本文是针对没有Perl基础,但想用perl一行式命令取代grep/awk/sed的人,用于速学Perl基础知识. Perl一行式系列文章:Perl一行式程序 perl的-e选项 perl命令的-e选项后可以书写表达式,例如: perl -e 'print "hello world\n"' Perl中的函数调用经常可以省略括号,所以print "hello world\n"表示的是print("hello world\n"),但并非总是可以省略括号…
今天写脚本遇到Can't use string ("bond2     Link encap:InfiniBand ") as a symbol ref while "strict refs" in use at test.pl line 的错误 google了一下,发现stackoverflow有这样的错误,其中有一个是缺少一个分号导致的 例如: open (FILE, "ifconfig | "); while (<FILE>)…
0.Perl书籍推荐 Perl书籍下载 密码:kkqx 下面是一些我学习Perl过程中读过完整的或部分章节的觉得好的书. 入门级别1:<Perl语言入门>即小骆驼 入门级别2:<Intermediate Perl>即羊驼 入门后复习:<beginning Perl> 系统性学习和进阶:<Pro Perl>(目前在读,是我整理.完善Perl的最佳书籍) Perl编码技巧:<Perl高效编程>(英文版Effective Perl Programmin…