2012-01-25 31 views
5

Trong một số tập lệnh perl của tôi, tôi thấy cần thiết để bật gỡ lỗi regex trong khi tôi làm việc với chúng. Tôi đã thấy rằng có một chế độ màu, nhưng tôi dường như không thể có được kết quả màu. Tôi đã thêm use re 'debugcolor'; vào chương trình của mình, nhưng dường như hành vi không khác với use re 'debug';.Bật chức năng gỡ lỗi regex màu trên perl trên các cửa sổ

Tôi tự hỏi nếu cmd.exe không hỗ trợ đầu ra màu. Bất kỳ documentation Tôi đã tìm thấy chỉ nói rằng nó sẽ làm việc trên một thiết bị đầu cuối hỗ trợ nó.

Câu hỏi của tôi tóm tắt: Có điều gì khác tôi cần làm để bật đầu ra màu không? hoặc, cách khác, tôi có thể sử dụng chương trình terminal nào khác thay vì cmd.exe?

+0

Điều này có thể liên quan ... [answers.yahoo] (http://answers.yahoo.com/question/index?qid=20070402210230AA8VFEy) – FakeRainBrigand

+0

Tôi không chắc chắn, nhưng có thể http: //www.cygwin .com/là những gì bạn cần. – Taras

Trả lời

5

re sử dụng số termcap của unix để cung cấp thông tin màu. Hãy thử:

BEGIN { 
    require Win32::Console::ANSI; 
    $ENV{PERL_RE_COLORS} = "\e[1m\t\e[0m\t\e[7m\t\e[27m\t\e[4m\t\e[24m"; 
} 

Tôi nhận được một số màu từ đó. Tôi không biết nếu họ là những người bạn đang mong đợi.

+1

Tất nhiên, đây là giải pháp thay thế. Nếu bạn muốn một cái gì đó tốt hơn, nó sẽ phải được thực hiện bên trong re.pm. Bạn có thể gửi báo cáo lỗi bằng cách sử dụng công cụ 'perlbug'. – ikegami

Các vấn đề liên quan