Perl Array chop () و chomp () وظيفة

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

قضم بصوت عالي $ اسمي يقطع الخط الأخير ، تاركًا فقط يعقوب. بمجرد أن يتم تقطيعه ، لن يعمل أي شيء آخر على الإطلاق. تقطيع الاسم ، ومع ذلك ، سوف يؤدي إلى إزالة الحرف الأخير ، وترك جاكو:

أقضم بصوت عاليجي و يقطعبينغ مجموعة مصفوفة ينتج عن كل عنصر تصرف ، ويمكن أن يكون مدخرًا في الوقت الفعلي.

لذلك تذكر - يقطع يقطع الحرف الأخير دون سؤال أو ندم. أقضم بصوت عالي فقط إزالة السطر الجديد ، وترك السلسلة نفسها سليمة. أقضم بصوت عالي لا يزيل كل حروف مسافة بيضاء بشكل افتراضي. في الواقع ، بشكل افتراضي ، يزيل chomp فقط ما يعرف حاليًا باسم $ INPUT_RECORD_SEPARATOR. إذا كان هدفك هو قطع كل المسافات البيضاء من نهاية السلسلة ، فحاول استخدام regex مثل هذا السجل المقدم من القارئ: