البرمجة

تحسين الأعمدة في سطر Perl

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

فيما يلي مثال على كيفية تحقيق ذلك بلغة Perl:

perl
#!/usr/bin/perl use strict; use warnings; # الأعمدة التي يجب حذفها my @deleteColumn = (4, 7); # المواقع التي يجب إضافة أعمدة فارغة فيها my @AddColumn = (3, 5); # السطر الأصلي my $line = "1,2,3,5,9,7,8,12"; # تحويل السطر إلى مصفوفة باستخدام الفاصلة كفاصل my @columns = split(',', $line); # حذف الأعمدة foreach my $column (@deleteColumn) { splice(@columns, $column - 1, 1); # -1 لأن الفهرس يبدأ من صفر } # إضافة أعمدة فارغة foreach my $column (@AddColumn) { splice(@columns, $column - 1, 0, ''); # إضافة عمود فارغ } # إعادة تكوين السطر بعد التعديلات my $modified_line = join(',', @columns); # طباعة السطر المعدل print $modified_line;

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

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

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

لتحقيق هذا بشكل فعّال وفي خطوة واحدة، يمكنك استخدام لوحة التقطيع (slice) في لغة Perl. يمكنك استخدام دالة splice لإزالة الأعمدة وإضافة الأعمدة الجديدة في نفس الوقت.

فيما يلي مثال على كيفية تحقيق ذلك في سياق السكريبت:

perl
use strict; use warnings; # السطر الأصلي my $line = "1,2,3,5,9,7,8,12"; # مصفوفة الأعمدة التي يجب حذفها my @deleteColumns = (4, 7); # مصفوفة الأعمدة التي يجب إضافتها my @addColumns = (3, 5); # حذف الأعمدة foreach my $col (reverse @deleteColumns) { splice(@{[split(/,/, $line)]}, $col-1, 1); } # إضافة الأعمدة foreach my $col (@addColumns) { splice(@{[split(/,/, $line)]}, $col-1, 0, ""); } # السطر بعد التعديل my $modifiedLine = join(",", @{[split(/,/, $line)]}); # طباعة النتيجة print "$modifiedLine\n";

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

مقالات ذات صلة

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

هذا المحتوى محمي من النسخ لمشاركته يرجى استعمال أزرار المشاركة السريعة أو تسخ الرابط !!