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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值