मुझे विंडोज़ में पर्ल के लिए कमांड तर्क कोटेशन को समझने में समस्या हो रही है। निम्नलिखित प्रोग्राम का उपयोग करना:पर्ल कमांड लाइन: निर्देशिका बनाम के लिए सिंगल बनाम डबल कोट्स
use strict;
use warnings;
use File::Find;
use File::Copy;
my $dir = shift;
die 'Usage: perl Folderize.pl <directory>' unless $dir;
die "$dir doesn't exist" unless -d $dir;
मुझे निर्देशिका के लिए सिंगल या डबल कोट्स का उपयोग करने के आधार पर अलग-अलग परिणाम मिलते हैं। अगर मैं इसे 'perl script.pl 'H:\Test!'
के साथ कॉल करता हूं तो यह "एच: \ टेस्ट!" प्रिंट करता है मौजूद नहीं है "। हालांकि, अगर मैं इसे 'perl script.pl "H:\Test!"
के साथ कॉल करता हूं, तो यह ठीक काम करता है। ये क्यों हो रहा है?
क्या होता है यदि आप perl कोड में $ dir के उपयोग को डीबीएल-उद्धृत करते हैं? शुभ लाभ। – shellter
'-d" $ dir "अभी भी विफल रहता है यदि कमांड लाइन पर सिंगल कोट्स का उपयोग किया गया था। किसी भी उद्धरण का उपयोग करना इस मामले में भी काम करता है, लेकिन केवल इसलिए कि पथ में कोई स्थान नहीं है। –
क्या आप वाकई कहते हैं कि 'एच: \ टेस्ट!' मौजूद नहीं है? और 'एच: \ टेस्ट' नहीं? – Quentin