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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值