Chapter 10.
การดำเนินจัดการ file ข้อมูล
Perl มีความสามารถเปิด file ใน server
เพื่ออ่าน เขียน แก้ไข หรือสร้าง
file ใหม่ได้ ตัวอย่างเช่น Programe
Counter
สำหรับนับตัวเลขผู้เข้าเยี่ยมชม
Website หลักการคือเปิด file นับตัวเลขใน
file เขียนทับลงไปใหม่
แล้วรายงานจำนวนผู้เยี่ยมชมออกทางหน้า
Website เป็นต้น
คำสั่งที่เกี่ยวข้องกับการดำเนินการจัดการ
file ข้อมูลมีดังนี้
- open เปิด file
- close ปิด file
- > เขียน file ใหม่
หรือ ถ้ามี file
เก่าอยู่แล้วก็เขียนทับ file เก่า
- >> เขียนต่อจาก file
เก่า
โดยมีรูปแบบและวิธีการใช้ดังนี้
....
คำสั่ง open จะเปิด file
ที่มีอยู่แล้ว สามารถใช้ได้ทั้ง
Unix และ Windows
ถ้าเป็น Unix
จะต้องคำนึงถึง Ower
สิทธิผู้ใช้ด้วย เช่น
ถ้าไม่ใช่เจ้าของ file
ก็ไม่สามารถเปิด file นั้นอ่านได้
แต่ถ้าเป็น windows
ไม่ต้อง คำนึงถึงเรื่องนี้
ดังจะได้กล่าว
ต่อไป
รูปแบบคำสั่ง open
และ close file เพื่ออ่านอย่างเดียว
open( FILE , "..path..
filename" ); |
ตัวอย่าง
open.pl
#!/usr/bin/perl
print "Content-type: text/html\n\n";open(File,"data.dat");
@AllFile = <File>;
close(File);
print "@AllFile";
|
ผลลัพธ์
คำอธิบาย
คำสั่ง open จะเปิด file
ที่ชื่อ data.dat แล้วเก็บไว้ตัวแปร file
(ภายใน file data.dat
มีข้อความว่า 150 )
จากนั้นก็จะเก็บค่าของชุดตัวแปร
File ทั้งหมดไว้ในตัว Array @Allfile
เสร็จแล้วก็ close file
สั่งพิมพ์ค่าของ @Allfile
ทั้งหมดออกทางจอภาพ
ถ้าเป็น server Unix/Linux
จะต้อง changemode ให้เป็น 777
โดยใช้คำสั่ง chmod 777
data.dat
( 777 หมายความว่า
ใครก็ได้สามารถ เขียน อ่าน file data.dat
ได้)
เราใช้เครื่องหมาย
">" เพื่อเขียน file
ใหม่กรณีที่ไม่มี file เก่า ถ้ามี file
เก่าก็จะเขียนทับลงไป
รูปแบบคำสั่ง
open( FILE , "..path..
/>filename" ); |
ตัวอย่าง
write.pl
#!/usr/bin/perl
print "Content-type: text/html\n\n";
$newdata = 160;
open(File,">data1.dat");
print File "$newdata\n";
close(File);
open(File,"data1.dat");
@AllFile = <File>;
close(File);
print "@AllFile"; |
ผลลัพธ์
คำอธิบาย
- กำหนดตัวแปร $newdata = 160
คำสั่ง open ครั้งแรกจะเปิด file
ที่ชื่อ data1.dat
หรือสร้าง file ใหม่ขึ้นมาถ้าไม่มี
data1.dat
จากนั้นก็เอาค่าตัวแปร $newdata
พิมพ์ลงใน data1.dat
เสร็จแล้วก็ close file
- คำสั่ง open ครั้งที่ 2
จะเปิด file ที่ชื่อ data1.dat
แล้วเก็บไว้ตัวแปร file
จากนั้นก็จะเก็บค่าของชุดตัวแปร
File ทั้งหมดไว้ในตัว Array @Allfile
เสร็จแล้วก็ close file
สั่งพิมพ์ค่าของ @Allfile
ทั้งหมดออกทางจอภาพ
เขียนข้อความต่อจาก
file เก่า |
เราใช้เครื่องหมาย
">>" เพื่อเขียน file ต่อจาก
file เก่า
รูปแบบคำสั่ง
open( FILE , "..path..
/>>filename" ); |
ตัวอย่าง
rewrite.pl
#!/usr/bin/perl
print "Content-type: text/html\n\n";
$newdata = 170;
open(File,">>data2.dat");
print File "$newdata\n<br>";
close(File);
open(File,"data2.dat");
@AllFile = <File>;
close(File);
print "@AllFile"; |
ผลลัพธ์
คำอธิบาย
- กำหนดตัวแปร $newdata = 170
คำสั่ง open ครั้งแรกจะเปิด file
ที่ชื่อ data2.dat
จากนั้นก็เอาค่าตัวแปร $newdata
พิมพ์ต่อท้ายข้อความใน data1.dat
เสร็จแล้วก็ close file
- คำสั่ง open ครั้งที่ 2
จะเปิด file ที่ชื่อ data2.dat
แล้วเก็บไว้ตัวแปร file
จากนั้นก็จะเก็บค่าของชุดตัวแปร
File ทั้งหมดไว้ในตัว Array @Allfile
เสร็จแล้วก็ close file
สั่งพิมพ์ค่าของ @Allfile
ทั้งหมดออกทางจอภาพ
Copy right Passkorn Roungrong 2000 |