البرمجة

تحقق من فواصل الحقول في Perl CSV: دليل شامل.

في سياق استفسارك حول التحقق من فاصل الحقول في ملف الإدخال في لغة البرمجة Perl، يتطلب الأمر استخدام بعض الخطوات للتأكد من أن الفاصل المستخدم هو الفاصل المتوقع. يجب عليك إجراء عملية فحص تلقائية للملف للتحقق من الفاصل المستخدم وإطلاق رسالة خطأ إذا كان غير متوقع.

للقيام بذلك في Perl، يمكنك استخدام الأمر split() لتحليل كل سطر في الملف إلى حقول باستخدام الفاصل المحدد. في حالتك، الفاصل المتوقع هو الطاب (\t)، ولكن إذا كنت ترغب في التحقق من ذلك، يمكنك استخدام قاعدة البيانات المقدمة في ملف لتحديد الفاصل المستخدم في الواقع.

إليك مثال لكيفية القيام بذلك:

perl
#!/usr/bin/perl use strict; use warnings; # افتح الملف للقراءة open my $fh, '<', 'example.csv' or die "لا يمكن فتح الملف: $!"; # قراءة كل سطر من الملف while (my $line = <$fh>) { chomp $line; # إزالة أي تنقيح نهائي من السطر # استخدم split() لتحليل السطر باستخدام الفاصل المحدد my @fields = split(/\t/, $line); # التحقق من أن عدد الحقول المسترجعة هو المتوقع if (@fields != 2) { die "خطأ في الملف: عدد الحقول غير المتوقع في سطر: $line\n"; } # يمكنك إضافة المزيد من التحققات هنا حسب احتياجاتك # قد ترغب في طباعة الحقول للتحقق print "الحقل الأول: $fields[0]\n"; print "الحقل الثاني: $fields[1]\n"; } # أغلق الملف بعد الانتهاء close $fh;

هذا الكود يقوم بفتح الملف وقراءة كل سطر، ثم يستخدم split() لتحليل السطر باستخدام الفاصل المتوقع (\t)، ويتحقق من أن عدد الحقول هو العدد المتوقع. إذا كان هناك أي تعارض، سيتم إطلاق رسالة خطأ.

المزيد من المعلومات

بالتأكيد، دعونا نوسع على الكود ونضيف بعض المعلومات الإضافية لجعل البرنامج أكثر شمولاً وفعالية. يمكننا إضافة بعض التحققات الإضافية وتقديم رسائل توضيحية للمستخدم لجعل البرنامج أكثر استخداماً وفهماً.

perl
#!/usr/bin/perl use strict; use warnings; # افتح الملف للقراءة open my $fh, '<', 'example.csv' or die "لا يمكن فتح الملف: $!"; # قراءة كل سطر من الملف while (my $line = <$fh>) { chomp $line; # إزالة أي تنقيح نهائي من السطر # استخدم split() لتحليل السطر باستخدام الفاصل المحدد my @fields = split(/\t/, $line); # التحقق من أن عدد الحقول المسترجعة هو المتوقع if (@fields != 2) { die "خطأ في الملف: عدد الحقول غير المتوقع في سطر: $line\n"; } # التحقق من أن الحقول تحتوي على بيانات صحيحة if ($fields[0] !~ /^\d+$/ || $fields[1] !~ /^[A-Za-z0-9-]+$/) { die "خطأ في الملف: البيانات في الحقول غير صحيحة في سطر: $line\n"; } # قد ترغب في طباعة الحقول للتحقق print "الحقل الأول: $fields[0]\n"; print "الحقل الثاني: $fields[1]\n"; } # أغلق الملف بعد الانتهاء close $fh;

في هذا الكود المُعدل، قمت بإضافة التحقق من صحة البيانات داخل الحقول باستخدام تعبيرات القوالب (regex). يتحقق البرنامج أيضًا من أن الحقل الأول يحتوي على أرقام صحيحة فقط، وأن الحقل الثاني يحتوي على مجموعة محدودة من الأحرف والأرقام والشرطة الفاصلة.

إذا كان هناك أي خطأ في البيانات أو في تنسيق الفاصل، سيتم إطلاق رسالة خطأ توضح المشكلة، وبالتالي يمكنك تحسين دقة برنامجك وفحص الملفات بشكل أفضل.

زر الذهاب إلى الأعلى