perl: 輸入輸出

來源:互聯網
上載者:User

標籤: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: 輸入輸出

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.