मैं कुछ ClearCase पर्ल में लिखा ट्रिगर की समीक्षा कर रहा हूँ का उपयोग कर के बीच एक नियमित अभिव्यक्ति में एक चर गुजर रहा है। मैंने देखा है कि कुछ नियमित अभिव्यक्तियों में, चर या तो घुमावदार रूप से या उनके नाम घुंघराले ब्रैकेट में पारित किए जाते हैं।
उदाहरण के लिए, मैं एक ट्रिगर में निम्न कोड पंक्ति है:
if ($baseline !~ /^${component}_(|.*_)$phase\.\d+(|[a-z]|-\d+|${automateddigit})$/ &&
$baseline !~ /^${project_root}_$phase\.\d+(|[a-z]|-\d+|${automateddigit})$/)
$component
, $phase
, $automateddigit
, $project_root
सभी चर रहे हैं।
कुछ $variable
के रूप में क्यों पारित किए गए हैं और अन्य नियमित अभिव्यक्ति में ${variable}
के रूप में पास किए गए हैं?
यह है कि वे कैसे initialised कर रहे हैं से आता है?
यहाँ उन्हें initialising कोड की पंक्ति हैं:
($project = $ENV{CLEARCASE_PROJECT}) =~ s/\@.*$//;
($component = $ENV{CLEARCASE_COMPONENT}) =~ s/\@.*$//;
($project_root, $phase) = ($project =~ /^(.*)_(R\d+.*)$/);
exit(0) if (! $phase);
$phase .= ".0" if ($phase =~ /^R\d+$/);
$automateddigit = '';
$istream = `cleartool desc -fmt "%[istream]p" project:$ENV{CLEARCASE_PROJECT}`;
$componentlist = `cleartool desc -fmt "%[components]Cp" stream:$ENV{CLEARCASE_STREAM}`;
$componentsnbr = split(',', $componentlist);
if ($componentsnbr > 1) {
$automateddigit .= '\\.\\d+';
}
ठीक है, तो मैं बेहतर, $ {चर} हर समय का उपयोग तो। नहीं ? –
मेरा सुझाव है केवल जहां आवश्यक हो - तुम इतनी अगर वे एक संघर्ष तो यह करने के कारण होता है अपने चर के नाम के बारे में पता होना चाहिए। इसे हर जगह करना शोर –
ठीक हो सकता है, धन्यवाद! मुझे जवाब मिल गया। :-) –