Advertisement
Guest User

Untitled

a guest
May 22nd, 2015
208
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.16 KB | None | 0 0
  1. #!/usr/bin/env perl
  2.  
  3. =head1 Examples
  4.  
  5. $ tail -f access_log | perl colorize.pl
  6. $ plackup app.psgi 2>&1 | perl colorize.pl
  7.  
  8. =cut
  9.  
  10. use strict;
  11. use warnings;
  12. use Term::ANSIColor qw(colored);
  13.  
  14. # XXX customize it.
  15. my %config = (
  16. ' (2\d{2}) ' => 'cyan',
  17. ' (3\d{2}) ' => 'green',
  18. ' (4\d{2}) ' => 'red on_bright_yellow',
  19. ' (5\d{2}) ' => 'red',
  20. );
  21.  
  22. =head1 COLORS
  23.  
  24. The available foreground colors are:
  25.  
  26. black red green yellow
  27. blue magenta cyan white
  28. bright_black bright_red bright_green bright_yellow
  29. bright_blue bright_magenta bright_cyan bright_white
  30.  
  31. The available background colors are:
  32.  
  33. on_black on_red on_green on yellow
  34. on_blue on_magenta on_cyan on_white
  35. on_bright_black on_bright_red on_bright_green on_bright_yellow
  36. on_bright_blue on_bright_magenta on_bright_cyan on_bright_white
  37.  
  38. =cut
  39.  
  40. while (my $input = readline STDIN) {
  41. for my $re (keys %config) {
  42. if (my ($m) = $input =~ /$re/) {
  43. $input =~ s/$m/colored($m, $config{$re})/ge;
  44. }
  45. }
  46. print STDOUT $input;
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement