關於
perl
的檔案讀取
perl
語言操作檔案是很常使用的操作,本文將介紹讀取檔案的一點小技巧。
本文將介紹兩種讀取檔案的方法:l使用
perl
的內建函式
readline;
l另外一種就是使用檔案控制代碼直接操作""。
1.使用readline
readline expr
readline
從檔案控制代碼中讀取資料,在標量環境中每一次從檔案中讀取一行記錄,直到檔案最後;在列表環境中,一次性將所有的檔案記錄全部讀取。注意,我們可以使用「
$/」來一次性的讀取檔案的所有記錄。
當「$/
」的值是
undef
時,readline
返回檔案中所有的行。
readline
實現了""
操作符的功能,當然你也可以直接的使用""。
例如下面的程式:
$line = ;
$line = readline(*stdin);# same thing
當readline
遇到系統錯誤時,可以使用
$!來返回錯誤,這在
tty和
socket
錯做的時候很有用。例如:
for (;;)
# ... }
下面是例子:
**
#!/usr/bin/perl
usestrict;
usewarnings;
my$
line;
openfh
, "< f://gan//1234.log";
#$/ = undef;
while(
$line
= readline fh )
$_=
$line;
s//s*$//g;
s/^/s*//g;
if( $_
eq "" )
print$_,
"/n";
}
close(
fh);
f://gan//1234.log
檔案中的內容:
我們主要關注它的檔案格式
perl
語言很強大
在檔案操作中表現的非常優秀。
(1)zzzzzzzzz
(2)*********
所以,我們要好好的把它學習好!
執行結果
perl
語言很強大
在檔案操作中表現的非常優秀。 (
1)zzzzzzzzz (
2)*********
所以,我們要好好的把它學習好!
**分析,我們從執行的結果可以看出,檔案的格式變化了。在分析**,首先來看黃色標記的**
s//s*$//g;
s/^/s*//g;
使用的是
s///
,它的作用就是去除一行前端和尾部的空格。再來看藍色標記的**
if( $_
eq "" )
它的作用就是去除空行。最後再看粉紅色標記的**
#$/ = undef;
在這裡我們把它登出掉,如果去除登出程式執行的結果就是如下所示:
perl
語言很強大
在檔案操作中表現的非常優秀。
(1)zzzzzzzzz
(2)*********
所以,我們要好好的把它學習好!
原因就是當
#$/ = undef
;得時候
readine
就會執行在標量環境中,將檔案中所有的行當做一行全部讀出。
Perl開啟讀取檔案
在perl中可以用open或者sysopen函式來開啟檔案進行操作,這兩個函式都需要通過乙個檔案控制代碼 即檔案指標 來對檔案進行讀寫定位等操作。下面以open函式為例 1 讀 open 檔案控制代碼,檔名 open 檔案控制代碼,檔名 前提檔案必須已經存在,否則會返回0,出錯資訊在 中。2 寫 o...
Perl檔案讀取的經典用法分享
用open 函式開啟檔案 開啟檔案的常用方法是 複製 如下 open fh,filename or die couldn t open filename for reading open 函式通常帶有兩個引數,第乙個為檔案控制代碼,用於指向開啟的檔案,第二個引數是檔名及模式 檔案的開啟模式 的混合體...
讀取excel檔案(使用perl處理)
做了乙個簡單的處理excel檔案的perl程式,批量讀取其中的資料將其轉換csv檔案 如下 usr local bin perl xlstocsv ver 0.2 xls檔案轉換csv mail use strict use warnings use spreadsheet parseexcel u...