الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكلة في الكتابة إلى ملف باستخدام بيرل

بدأه أبو أحمد الحلبي في 23 يوليو 2013 · 2 رد · 1,965 مشاهدة · في لغة Perl
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

إخواني أنا عندي ملفين : ملف بيرل اسمه Open.pl و ملف آخر اسمه names.txt

من المفترض أن يقوم الملف Open.pl بالكتابة إلى ملف names.txt و لكنه لا يكتب . مع العلم أني أعطيت التصريح 777 للملفين (علما أني أستخدم نظام الباك تراك 5 )

و هذا هو كود ملف Open.pl :

#!/usr/bin/perl

print "Opening names.txt ..\n";
open NAMES,"names.txt" or die "Error : Can't open names.txt";
print "names.txt has been opened successfully !\n";
print "Do you want to insert a name into names.txt file (Y\\N) ?\n";
$Answer = <>;
chomp ($Answer);
if ($Answer eq "Y") {print "Type the name that you want to insert :\n";$Answer2 = <>;chomp($Answer2);
print NAMES "$Answer2\n" or die "Can't write into the file !";}
else {print "ok:(\n";}
print "Closing names.txt ..\n";
close NAMES or die "Error : Can't close names.txt";
print "names.txt has been closed successfully !\n";
exit;

و هذا هو محتوى ملف names.txt :

NajeebNabeelAmr

أرجو المساعدة إخواني

و شكرا لكم مسبقا

#2

تم حل المشكلة إخواني

الكود بعد التعديل :

#!/usr/bin/perl

use strict;
use warnings;

print "Opening names.txt ..\n";
open NAMES,">>names.txt" or die "Error : Can't open names.txt";
print "names.txt has been opened successfully !\n";
print "Do you want to insert a name into names.txt file (Y\\N) ?\n";
my $Answer = <>;
chomp ($Answer);
if ($Answer eq "Y") {print "Type the name that you want to insert :\n";my $Answer2 = <>;chomp($Answer2);
print NAMES "$Answer2\n" or die "Can't write into the file !";}
else {print "ok:(\n";}
print "Closing names.txt ..\n";
close NAMES or die "Error : Can't close names.txt";
print "names.txt has been closed successfully !\n";

exit;

طريقة الحل هي إضافة هذه العلامة << قبل اسم الملف
 :)

#3

المعامل >> تعني فتح الملف في مود الإضافة على محتوى الملف

المعامل > تعني فتح الملف في مود الكتابة (وتصفير الملف)

بدون أي معامل يفتح الملف في مود القراءة فقط

1
(map share people)

فضلا لاتقم بمراسلتي من أجل أسئلة لها أقسامها في المنتدى حتى تعم الفائدة على الجميع وللحصول على إجابات أفضل من أعضاء أكثر خبرة.
Weblog
@bitbucket
@xmonader

مواضيع مشابهة