2008-10-13 7 views

उत्तर

14

सीपीएएन शायद जाने का सबसे अच्छा तरीका है। Term::Screen:Uni पर एक नज़र डालें:

require Term::Screen::Uni; 
my $scr = new Term::Screen::Uni; 

$scr->clrscr() 
6

आप एक टर्मिनल के बारे में बात कर रहे हैं, मैं यह कर का अभिशाप देता है lib की तरह कुछ का प्रयोग करेंगे।

वहाँ उस तक पहुंचने का अच्छा शाप मॉड्यूल है, जो आपको इस तरह का उपयोग कर सकते है:

perl -MCurses -e '$win=new Curses;$win->clear()' 
9

मैं आम तौर पर CPAN से Term::ANSIScreen का उपयोग जो मुझे उपयोगी सांत्वना-संबंधी सुविधाओं के सभी प्रकार देता है।

use Term::ANSIScreen qw(cls); 
cls(); 
22
print "\033[2J"; #clear the screen 
print "\033[0;0H"; #jump to 0,0 
+0

+1000, इस विधि को उपयोगकर्ता को कुछ सीपीएन मॉड्यूल स्थापित करने की आवश्यकता नहीं है (और इसके अलावा सबकुछ) – almosnow

+9

किसी इंस्टॉलेशन की आवश्यकता नहीं है, कुछ प्लेटफॉर्म पर काम करने के लिए नहीं होता है। – gparent

7

perlfaq8 के जवाब से How do I clear the screen रहे हैं:


स्क्रीन साफ ​​करने के लिए, तो आप सिर्फ विशेष अनुक्रम कि टर्मिनल बताता स्क्रीन स्पष्ट करने के लिए मुद्रित करने के लिए की है। एक बार आपके पास अनुक्रम होने के बाद, जब आप स्क्रीन को साफ़ करना चाहते हैं तो इसे आउटपुट करें।

आप विशेष अनुक्रम प्राप्त करने के लिए टर्म :: एएनएसआईस्क्रीन मॉड्यूल का उपयोग कर सकते हैं। आयात cls समारोह (या: स्क्रीन टैग):

use Term::ANSIScreen qw(cls); 
my $clear_screen = cls(); 

print $clear_screen; 

आप टर्मिनल नियंत्रण के निम्न स्तर के विवरण के साथ सौदा करना चाहते हैं तो टर्म :: कैप मॉड्यूल भी विशेष अनुक्रम मिल सकती है। Tputs विधि दिया क्षमता के लिए स्ट्रिंग रिटर्न:

use Term::Cap; 

$terminal = Term::Cap->Tgetent({ OSPEED => 9600 }); 
$clear_string = $terminal->Tputs('cl'); 

print $clear_screen; 

विंडोज पर, आप Win32 :: कंसोल मॉड्यूल का उपयोग कर सकते हैं।

use Win32::Console; 

$OUT = Win32::Console->new(STD_OUTPUT_HANDLE); 
$OUT->Cls; 

आप एक कमांड लाइन प्रोग्राम है जो काम करता है है, तो आप यह बैकटिक में कॉल कर सकते हैं पर कब्जा करने के लिए जो भी यह इतना आउटपुट: उत्पादन के लिए एक वस्तु बनाने के बाद filehandle आप को प्रभावित करना चाहते हैं, सीएलएस विधि कॉल आप इसे बाद में उपयोग कर सकते हैं:

$clear_string = `clear`; 

print $clear_string; 
+0

'Win32 :: कंसोल :: Cls' उस मान को वापस नहीं करता है जिसे आप सहेज सकते हैं। –

+0

इसके लिए आप perlfaq में जवाब कैसे बदलेंगे? –

+0

मैंने इस उत्तर में एक संपादन किया है। –

6

ओएस एक्स और लिनक्स के तहत, आप निम्नलिखित पर्ल आदेश का उपयोग कर सकते हैं:

system("clear"); 

पता नहीं क्या बराबर संयुक्त राष्ट्र है डेर विंडोज़

संपादित करें: विंडोज बराबर है:

system("cls"); 
+0

महान, 10x .... –

संबंधित मुद्दे

 संबंधित मुद्दे