لماذا يُبلغ البرنامج النصي الخاص بي عن "قيمة غير مهيأة في"سلسلة" تقييمية؟

StackOverflow https://stackoverflow.com/questions/303841

  •  08-07-2019
  •  | 
  •  

سؤال

أتلقى هذا التحذير:

Use of uninitialized value in eval \"string\" at myscript.pl line 57.

عندما أقوم بتشغيل هذا الكود:

eval;
{
        `$client -f $confFile -i $inputFile -o $outputFile`;
};

if( $@ )
{
        # error handling here ...
}

ما الذي يسبب الخطأ؟

كيف يمكنني إصلاح السبب الأساسي؟(أو قم بقمع التحذير بطريقة أخرى؟)

هل كانت مفيدة؟

المحلول

وهناك فاصلة منقوطة بعد eval.

نصائح أخرى

التقييم هنا لن يفعل شيئًا على الإطلاق على أي حال.Backticks لا ترمي الأخطاء أبدًا.ليست كذلك $@ لكن $? التي تريد التحقق منها.

أيضًا، إذا كنت تتخلص من النتيجة، فقد تكون فكرة أنظف للاستخدام نظام.على سبيل المثال

system($client, '-f', $confFile, '-i', $inputFile, '-o', $outputFile) and do {
    #error handling here...
};
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top