में ActivePerl का उपयोग कर खाली है मेरे पास निम्न पर्ल स्क्रिप्ट है। मैं ActivePerl का उपयोग कर विंडोज 7 में इसे चलाने के लिए कोशिश कर रहा हूँ:@ARGV विंडोज 7
#!c:\Perl64\bin\perl.exe -w
use strict;
my $mp3splt_exe = 'c:\Program Files (x86)\mp3splt\mp3splt.exe';
my $mp3splt_args = '-o "@n @f" -g "r%[@o @N]" -f -t 6.0';
print @ARGV;
my $filename = $ARGV[0];
print "$mp3splt_exe $mp3splt_args $filename\n";
(आप देख सकते हैं, मैं mp3splt :-) के लिए एक आवरण बनाने के लिए कोशिश कर रहा हूँ) जब मैं इसे इस तरह से चलाने के
:
C: \ Program Files (x86) \ mp3splt> run_mp3splt.pl एक
मैं इस:
Use of uninitialized value $filename in concatenation (.) or string at C:\Program Files (x86)\mp3splt\run_mp3splt.pl line 12.
c:\Program Files (x86)\mp3splt\mp3splt.exe -o "@n @f" -g "r%[@o @N]" -f -t 6.0
सभी की
तो, सब से पहले, जब मैं print @ARGV
, कुछ भी प्रिंट हो जाती है, और दूसरा, जब मैं $filename = $ARGV[0]
असाइन करते हैं, $filename
undef
है, इसलिए मैं चेतावनी मिलती है।
तो ... मैं क्या गलत कर रहा हूं? स्क्रिप्ट को कमांडलाइन पैरामीटर क्यों नहीं दिया जा रहा है?
यह वास्तव में अजीब है, क्योंकि मैंने अभी अपने Win7 बॉक्स पर स्निपेट चलाया और वास्तव में काम किया। आप किस संस्करण का उपयोग कर रहे हैं, और आपने विंडोज 7 के लिए उचित स्थापित किया है? इस perl -e "प्रिंट @ARGV" aaaa को चलाने का प्रयास करें और देखें कि क्या आपको कोई आउटपुट मिलता है, अगर आप नहीं करते हैं तो निश्चित रूप से आपके perl स्थापना में कुछ गड़बड़ है। यदि आप करते हैं, तो संभवतः आपको स्क्रिप्ट में कुछ संघर्ष हैं, घोषित चर के दायरे की जांच करें। –