-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 In proper Perl fashion, there's a module for this: https://github.com/tadzik/Terminal-ANSIColor
I haven't used it myself, so I'm not sure how well it works, but it's worth a shot at least. On Sun, 3 Jun 2018 20:41:32 -0400 Xin Cheng <xinchen...@gmail.com> wrote: > Hi, > > I am trying to make a program to do grep with perl6 regular > expression, and I would like to colorize the matched part to the > terminal. So the following is what I wrote > > sub MAIN(Str $pattern,Str $filename){ > for $filename.IO.lines -> $line { > my Str $temp = $line; > if $temp ~~ s/ (<$pattern>) /\\x1b\[31m$0\\x1b\[0m/ {say > $temp}; # if no <> surrounding $pattern it becomes literal. } > } > > And I named the program as grep6, and I tried it in zsh as > > > grep6 'M.*N' =grep6 > > And I got, > > sub \x1b[31mMAIN\x1b[0m(Str $pattern,Str $filename){ > > How do I turn the string into color? > > Thanks! > > Xin -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEE4eL662U9iK2ST2MqN/W6H45XOE8FAlsUlAUACgkQN/W6H45X OE99fAgAjm1X4aRFUcWcJM2pLnbxy69XxaG//1ZvGROm/+iO96s2/WlTFMf5httI DJeJFQ5XTzGSwKQUn5PJXhMTCEqzcl8Niqtb/Armat8WCPgXW4DWjhlc9i+4nLiJ mEv+TljWn1oEUEcC7jO4M60SfddXl9Uy+v5VUnl59NNcX3LwgGRYKQ9e3eDjyIGW 0aKL4KvDw3LvchxGJdc8BeNXvlvQLmyeousaP/xIWLNObphsRME3VDd4myL7dUxJ bQreldZEFztz4ogTh7a/KnjHGZ46NyaY6LJZh1fa7cRvYNNkIMR8em5Js0/9dSAA NCTm3why/Z6EBiWrWhPyBNNvRbiYaQ== =EDFv -----END PGP SIGNATURE-----