वर्तमान में:
मैं स्क्रिप्टिंग में नया हूं, खुद को सिखाता हूं जैसे मैं साथ जाता हूं और यह मेरी पहली स्क्रिप्ट है जो मैं विकसित कर रहा हूं। मेरी स्क्रिप्ट क्या करने की कोशिश कर रही है, निर्दिष्ट फ़ाइल को देखें, "त्रुटि" शब्द को खोजने के लिए फ़ाइल को स्कैन करें। वर्तमान में यह तब "ERROR" से शेष फ़ाइल को आउटपुट फ़ाइल में प्रिंट करता है।
संकट:
किसी फ़ाइल में शब्द "ERROR" को खोजने के बाद, मैं "ERROR" शब्द से पाठ की पिछली 20 पंक्तियों को आउटपुट फ़ाइल में कैसे प्रिंट कर सकता हूं और "ERROR" बिंदु से शेष फ़ाइल को उसी आउटपुट फ़ाइल में जोड़ सकता हूं?
संभावित समाधान?
क्या मैं ऐसा करने के लिए किसी प्रकार के लूप का उपयोग करूंगा? मेरे पास यह कोड है कि मेरे सिर में = यह कैसे काम करना है लेकिन यह सुनिश्चित नहीं है कि वास्तव में इसे कैसे लागू किया जाए। क्या कोई मुझे सलाह दे सकता है या बता सकता है कि क्या ऐसा करने का कोई बेहतर तरीका है?
स्क्रिप्ट:
my $file_handle = IO::File->new ('output','a') or die;
print $file_handle "*****************************\n";
while(<>) {
print $file_handle $_ if(/.*ERROR/ .. /^XXX/);
}