मेरे पास संभावित कमांड लाइन तर्क (एक रीड-इवल-प्रिंट-लूप प्रोग्राम का उपयोग करके) के साथ एक स्ट्रिंग है और मैं इसे Getopt :: Long पर पास होने पर कमांड लाइन तर्कों के समान पार्स करना चाहता हूं।मैं GetOpt :: Long :: GetOptions के साथ एक स्ट्रिंग का विश्लेषण कैसे करूं?
विस्तार से बता दें:
मैं एक स्ट्रिंग
$str = '--infile /tmp/infile_location --outfile /tmp/outfile'
मैं चाहता हूँ यह GetOptions से पार्स किया जा सकता है ताकि यह मेरे नए विकल्प जोड़ने में आसान है।
एक वर्कअराउंड जो मैं सोच सकता हूं कि व्हाइटस्पेस पर स्ट्रिंग को विभाजित करना है और @ एआरजीवी को नई सरणी के साथ प्रतिस्थापित करना है और फिर GetOptions को कॉल करना है। कुछ ...
my @arg_arr = split (/\s/, $input_line);
# This is done so that GetOptions reads these new arguments
@ARGV = @arg_arr;
print "ARGV is : @ARGV\n";
GetOptions (
'infile=s' => \$infile,
'outfile=s' => \$outfile
);
क्या कोई अच्छा/बेहतर तरीका है?
पहला तर्क एक सरणी संदर्भ है, इसलिए आप "GetOptionsFromArray ([glob ($ input_line)], ...)" –
धन्यवाद माइकल .. यहां कोड में परिवर्तन चला जाता है ... – Jagmal