Results 1 to 4 of 4

Thread: ขอปรึกษาเรื่อง การอ่าน-เขียนไฟล์ ของภาษา Perl ครับ

  1. #1
    Junior Member jaynarol's Avatar
    Join Date
    Oct 2007
    Location
    Thailand
    Posts
    14


    Post

    จากหัวข้อ ขอปรึกษาการเรื่องเขียนโปรแกรมของผมหน่อยครับ

    ตอนนี้ผมได้ทำสำเร็จในเบื่องต้นแล้วโดยใช้ภาษา Perl เขียนครับ

    แล้วตอนนี้ก็มีปัญหาอยู่อีก คือเรื่องการอ่านและเขียนไฟล์ของ Perl อะครับ

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

    read mode เปิดไฟล์เพื่อทำการอ่านอย่างเดียว < หรือ ไม่มี
    write mode เปิดไฟล์เพื่อทำการเขียน >
    append mode เปิดไฟล์เพื่อทำการเขียนข้อมูลต่อท้าย <<

    แต่ในจุดนี้ยังไม่ใช่ปัญหาใหญ่ของผมเพราะผมสามารถเขียนให้มันทำงาน2รอบได้คืออ่านแล้วค่อยเขียน(รู้สึกไม่ดีเลยแฮะ)

    ปัญหาจริงๆของผมก็คือ เมื่อเวลา user ใช้ proxy ของผมผมจะมีการบันทึกค่าต่างๆเช่น username/ip/time
    ไว้ใน text file

    โดยถ้า user คนนั้นเคยมีข้อมูลอยู่ก่อนแล้วใน text file ก็ให้มันลบข้อมูลเก่าแล้วแทนที่ด้วยข้อมูลใหม่
    แต่ถ้ายังไม่เคยมีก็ให้มันเขียนข้อมูลต่อท้ายลงไปใหม่

    ซึ่งในทางทฤษฎีที่ผมทดลองมันใฃ้ได้อย่างสมบูรณ์แบบ

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

    ซึ่งมันเป็นปัญหาที่ผมยังหาทางออกไม่ได้ซักทีและปัญหานี้ทำให้ผมหยุดชะงักการพัฒนาโปรแกรมไปเลย

    ใครที่เคยเจอปัญหาเดียวกันหรือมีทางแก้แล้วหรือคิดว่ามีก็ขอให้ช่วยแสดงความคิดเห็นด้วยครับ
    ผมคิดว่าปัญหานี้เป็นกันทั่วโลก

    ยังไงก็ขอขอบคุณน้ำใจในการแบ่งปันกันไว้ล่วงหน้านะครับ

    ^^

  2. #2
    Jedi Global Moderator Gen0TypE's Avatar
    Join Date
    Jan 2008
    Location
    Khonkaen
    Posts
    312


    ก่อนอื่นเลย ผมคิดว่า การถามปัญหาควรตั้งในห้อง IT problem consult นะครับ
    จะได้เป็นการใช้งานห้องให้ถูกต้อง และเป็นเหมือนการรวม Q&A ในห้อง IT problem consult ด้วย


    สำหรับเรื่องปัญหาผมคิดว่าน่าจะเกิดจากการเปิดปิดไฟล์บ่อย (เพื่ออ่านและเขียน)
    ซึ่งจริงๆ แล้ว perl จะมี mode ที่อนุญาตให้อ่านและเขียนพร้อมกันได้ คือ "+>" ครับ
    ยังไงก็ลองแก้เป็นเปิดไฟล์ครั้งเดียว แล้วเก็บ handle เป็นตัวแปรแบบ global ดูครับ

  3. #3
    Junior Member jaynarol's Avatar
    Join Date
    Oct 2007
    Location
    Thailand
    Posts
    14


    ขอโทษด้วยนะครับ

    พอดีเห็นมันเป็น Perl เลยเข้าหมวดนี้ไว้เผื่อคนอื่นมีปัญหาเหมือนผมจะได้เจอได้รวดเร็ว

    แต่ยังไงก็ขอบคุณนะครับ

    เดี๋ยวจะลองดูครับ

  4. #4
    Junior Member jaynarol's Avatar
    Join Date
    Oct 2007
    Location
    Thailand
    Posts
    14


    Post

    จากที่ทดลองทั้งหมดไม่ว่าจะลองทำอย่างที่ท่าน Gen0TypE บอก

    หรือจะลอง flock ไฟล์ สรุปแล้วก็คือ ไม่มีทางไหนเลยที่ใช้งานได้ดี

    ตอนนี้ผมเลิกหลักการเขียนลง text file แล้ว

    เปลี่ยนมาใช้แบบติดต่อฐานข้อมูลเอา ผลออกมาคือ เวิร์กสุดยอด

    ไม่มีปัญหาดังที่กล่าวมาข้างต้นอีกต่อไป อิอิ

Similar Threads

  1. Replies: 7
    Last Post: 19-03-2010, 04:09 PM
  2. Replies: 1
    Last Post: 08-04-2009, 04:27 PM
  3. Replies: 2
    Last Post: 10-09-2007, 12:39 PM
  4. Replies: 0
    Last Post: 05-12-2006, 09:26 AM
  5. Replies: 2
    Last Post: 15-06-2003, 11:14 PM

Members who have read this thread : 0

Actions : (View-Readers)

There are no names to display.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •