โมดูล FileHandle ใน Perl

Modul Filehandle Ni Perl



Perl มีหลายวิธีในการสร้างและเข้าถึงไฟล์ ไฟล์สามารถเปิดเพื่ออ่าน เขียน หรืออัปเดตในภาษา Perl ได้โดยใช้ตัวจัดการไฟล์ ตัวจัดการไฟล์สามารถใช้ในเมธอด open() ในรูปแบบการเขียนโปรแกรมเชิงโครงสร้างหรือรูปแบบการเขียนโปรแกรมเชิงวัตถุ โมดูล FileHandle สามารถใช้ในภาษา Perl เพื่อประกาศตัวจัดการไฟล์เป็นวัตถุ และใช้วัตถุนี้เพื่อเปิดไฟล์สำหรับการสร้างหรือเข้าถึงโดยใช้คุณสมบัติและวิธีการต่างๆ ของคลาส 'FileHandle' การใช้วิธีการทั่วไปบางอย่างของโมดูล FileHandle และวิธีการใช้โมดูล FileHandle เพื่อทำงานกับไฟล์ในภาษา Perl จะแสดงอยู่ในบทช่วยสอนนี้

วิธีการที่เป็นประโยชน์ของ FileHandle

วิธีการที่ใช้กันทั่วไปของโมดูล FileHandle มีดังนี้:

วิธี วัตถุประสงค์
บอก ใช้ในการนับขนาดของไฟล์เป็นไบต์
รับ ใช้สำหรับอ่านอักขระแต่ละตัวของเนื้อหาไฟล์
แสวงหา ใช้เพื่อย้ายตัวชี้ไฟล์ไปยังตำแหน่งเฉพาะ
อีฟ มันบ่งบอกถึงจุดสิ้นสุดของไฟล์
ปิด มันถูกใช้เพื่อปิดตัวจัดการไฟล์ที่กำหนดไว้ก่อนหน้านี้

ตัวอย่างของ Perl FileHandle

การใช้งานโมดูล FileHandle ที่แตกต่างกันจะแสดงอยู่ในส่วนนี้ของบทช่วยสอนโดยใช้หลายตัวอย่าง







ตัวอย่างที่ 1: สร้างไฟล์ใหม่

สร้างไฟล์ Perl ด้วยสคริปต์ต่อไปนี้ซึ่งสร้างไฟล์ใหม่โดยใช้โมดูล FileHandle ชื่อไฟล์ถูกนำมาจากผู้ใช้และตรวจสอบว่ามีอยู่หรือไม่ หากไม่มีไฟล์อยู่ ไฟล์จะถูกเปิดเพื่อเขียนโดยสร้างอ็อบเจ็กต์ของคลาส “FileHandle” หลังจากรอ 1 วินาที



#!/usr/bin/perl

ใช้อย่างเข้มงวด ;
ใช้ คำเตือน ;
ใช้ 5.34.0 ;
ใช้ FileHandle ;

#นำชื่อไฟล์จากผู้ใช้มาสร้าง
พิมพ์ 'ป้อนชื่อไฟล์:' ;
$f ของฉัน = <>;
กัด ( $ฉ ) ;

#ตรวจสอบว่ามีไฟล์อยู่แล้วหรือไม่
ถ้า ( -e $f )
{
#พิมพ์ข้อความหากมีไฟล์อยู่
พูด 'ไฟล์มีอยู่แล้ว' ;
}

อื่น

{
#Create ออบเจ็กต์ตัวจัดการไฟล์
$FileHandler.php ของฉัน = FileHandle- > ใหม่ ;
พูด 'กำลังเขียนลงในไฟล์...' ;
#รอ1วินาที
นอน ( 1 ) ;

#เปิดไฟล์เพื่อเขียน
ถ้า ( $ตัวจัดการไฟล์- > เปิด ( '> $ฟ' ) )
{
#เขียนบรรทัดข้อความลงในไฟล์
พิมพ์ $FileHandler “มันเป็นข้อความทดสอบ \n มันคือบรรทัดที่สอง \n ' ;
#ปิดตัวจัดการไฟล์
$ตัวจัดการไฟล์- > ปิด ;
}

}

เอาท์พุท:



ตามผลลัพธ์ที่ออกมา ไฟล์ “test.txt” ไม่เคยมีมาก่อน และไฟล์นี้ถูกสร้างขึ้นด้วยข้อความสองบรรทัด จากนั้นคำสั่ง 'cat' จะถูกดำเนินการเพื่อตรวจสอบว่าไฟล์ถูกสร้างขึ้นพร้อมกับเนื้อหาหรือไม่:





  p1-1

สคริปต์จะถูกดำเนินการอีกครั้งด้วยค่าอินพุตเดียวกัน และข้อความ 'มีไฟล์อยู่แล้ว' จะถูกพิมพ์ที่นี่เนื่องจากไฟล์ 'test.txt' ถูกสร้างขึ้นก่อนหน้านี้



  p1-2

ตัวอย่างที่ 2: อ่านเนื้อหาของไฟล์

สร้างไฟล์ Perl ด้วยสคริปต์ต่อไปนี้เพื่ออ่านเนื้อหาของไฟล์โดยใช้คลาส 'FileHandle' หากมีไฟล์อยู่ ชื่อไฟล์ถูกนำมาจากผู้ใช้

#!/usr/bin/perl

ใช้อย่างเข้มงวด ;
ใช้ คำเตือน ;
ใช้ 5.34.0 ;
ใช้ FileHandle ;

#นำชื่อไฟล์จากผู้ใช้มาสร้าง
$f ของฉัน = <>;
$f ของฉัน = ;
กัด ( $ฉ ) ;

#ตรวจสอบว่ามีไฟล์อยู่แล้วหรือไม่
ถ้า ( -e $f )
{
#เปิดไฟล์ให้อ่าน
$FileHandler.php ของฉัน = FileHandle- > ใหม่ ( ' < $ฟ' ) ;
#พิมพ์เนื้อหาไฟล์
พิมพ์ < $FileHandler >;
#ปิดตัวจัดการไฟล์
ปิด $FileHandler ;
}

เอาท์พุท:

เนื้อหาของไฟล์ “test.txt” ถูกพิมพ์ในเอาต์พุตเนื่องจากมีอยู่ในตำแหน่งปัจจุบัน:

  หน้า 2

ตัวอย่างที่ 3: ผนวกเนื้อหาลงในไฟล์

สร้างไฟล์ Perl ด้วยสคริปต์ต่อไปนี้ซึ่งจะต่อท้ายเนื้อหาลงในไฟล์ที่ไม่ว่างเปล่า และพิมพ์ขนาดของไฟล์เป็นไบต์ ชื่อไฟล์ถูกนำมาจากผู้ใช้ หากไฟล์นั้นมีอยู่และมีข้อมูลอยู่ จะมีการเพิ่มบรรทัดข้อความที่ท้ายไฟล์ มิฉะนั้น ข้อความจะถูกพิมพ์

#!/usr/bin/perl

ใช้อย่างเข้มงวด ;
ใช้ คำเตือน ;
ใช้ 5.34.0 ;
ใช้ FileHandle ;

#นำชื่อไฟล์จากผู้ใช้มาสร้าง
พิมพ์ 'ป้อนชื่อไฟล์:' ;
$f ของฉัน = <>;
กัด ( $ฉ ) ;

#ตรวจสอบว่าไฟล์มีอยู่แล้วและไม่ว่างเปล่าหรือไม่
ถ้า ( -s $f )
{


$FileHandler.php ของฉัน = FileHandle- > ใหม่ ( ' >> $ฉ' ) ;
#พิมพ์ขนาดไฟล์
พิมพ์ 'ขนาดของไฟล์คือ' . $ตัวจัดการไฟล์- > บอก. ' ไบต์ \n ' ;
พูด 'การผนวกเนื้อหาลงในไฟล์...' ;
#รอ1วินาที
นอน ( 1 ) ;

#เขียนเนื้อหาไว้ท้ายไฟล์
พิมพ์ $FileHandler “มันเป็นบรรทัดใหม่ \n ' ;
#ปิดตัวจัดการไฟล์
$ตัวจัดการไฟล์- > ปิด ;
}
อื่น
{
พูด 'ไฟล์ไม่มีอยู่' ;
}

เอาท์พุท:

ตามผลลัพธ์ บรรทัดใหม่จะถูกต่อท้ายไฟล์ “test.txt” และขนาดของไฟล์คือ 45 ไบต์ จากนั้นคำสั่ง 'cat' จะถูกดำเนินการเพื่อตรวจสอบว่าเนื้อหาถูกเพิ่มลงในไฟล์อย่างถูกต้องหรือไม่:

  p3-1

บทสรุป


โมดูล FileHandle เป็นหนึ่งในตัวเลือกของ Perl ในการอ่าน เขียน หรือผนวกไฟล์ การใช้งานโมดูลนี้ที่แตกต่างกันสามแบบจะแสดงอยู่ในบทช่วยสอนนี้โดยใช้ตัวอย่างง่ายๆ