码迷,mamicode.com
首页 > 其他好文 > 详细

perl: 输入输出

时间:2015-04-23 17:27:52      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:perl

输入和输出:

 

<STDIN>操作符:用来从STDIN读入数据:

如果读到文件结尾行输入符就会返回undef.

 

$line = <STDIN>;    #读取下一行.

chomp($line =<STDIN>);    #去掉输入的一行的最后的换行符

while (<STDIN>) {

    print “$_”;

}

foreach (<STDIN>) {

    print “$_”;

}

 

print函数:用来将信息输出到STDOUT。

$_ = “str1 str2 …”;

print;    #print默认会打印$_的值。

print @arr;   #打印数组元素,但是中间没有空格。

print “@arr”;    #打印数组元素,中间有空格。

 

printf函数:格式化输出:

%%:百分号

%c:字符

%u:十进制

%o:八进制

%x:十六进制

%s:    字符串

%d:十进制整数,直接舍去小数点后的整数

%g:浮点数,自动选择科学计数法还是十进制。

%e:浮点数,科学计数法

%f:浮点数,十进制

%m.nf :m是总的位数,n是小数点后的位数

space:在非负数前面加空格。

+:在非负数前加一个加号,默认没有。

-:左对齐,默认是右对齐的。

0:右对齐用0补齐,默认是空格。

#:使前缀生效,0b/0B表示二进制,0x/0X表示十六进制,0表示八进制。

printf  (“%s\n” x  @arr), @arr;    #打印数组

 

say:输出

say会在每行结尾自动加上换行符。

say的其它语法和print一样。

 

<>钻石操作符:

从文件或标准输入读取数据

perl    program   file1    file2   …

while (<>) {

    chomp;

    print “$_”;

}

print <> ;    #和cat命令差不多。

print sort <> ;    #和sort命令差不多。

 

@ARGV数组参数:

Perl的内置数组@ARGV用来存放参数,也可以在程序中指定这个数组。

@ARGV = qw# file1 file2 –options file3 #;

 

select函数:选择输出

使用select之后默认输出到STDOUT的都回输出到指定的输出句柄。

select   FH;     #在下一个select和指定句柄之前都是默认这个

$|  = 1;   #立即刷新缓冲区

if  (STDERR/STDOUT/STDIN..,   “>> filename“) {    #相当于复制标准文件句柄。

    …

}

如果标准文件句柄复制失败perl默认就使用原来的标准句柄。

 

die函数:处理错误

die会终止程序的运行,打印错误信息到stderr。

$!   特殊变量表示可读的系统错误信息。

if (! open FH,“>>filename”) {

    die   “Can not create file description: $!”; #输出自己和系统的信息。

}

if (@ARGV < 2) {

    die “not enough arguments\n”;    #加上换行不会输出具体错误行号。

}

 

warn函数:处理警告,打印警告信息到stderr。

 

close关闭句柄:

如果重新打开一个句柄perl会关闭之前的句柄;

程序结束时perl会自动关闭句柄。

close    FH;

 

read

readline

write

tell

truncate

binmode

dbmclose

dbmopen

eof

fileno

flock

format

getc

seek

sysopen

syscall

sysread

sysseek

syswrite

perl: 输入输出

标签:perl

原文地址:http://blog.csdn.net/wowotouweizi/article/details/45224105

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!