Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env perl6
- sub follow(IO::Handle $fh --> Supply) {
- $fh.seek(0, SeekFromEnd);
- supply {
- whenever $fh.lines {
- .emit;
- QUIT { note "QUIT ", &?ROUTINE; }
- LAST { note "QUIT ", &?ROUTINE; }
- }
- }
- }
- sub grep($pattern, Supply $lines --> Supply) {
- supply {
- whenever $lines -> $line {
- if $line.contains($pattern) {
- $line.emit;
- }
- QUIT { note "QUIT ", &?ROUTINE; }
- LAST { note "QUIT ", &?ROUTINE; }
- }
- }
- }
- sub MAIN(Str $file = "sandbox/bbb.log") {
- my $fh = open($file, :r);
- react {
- whenever &grep("perl6", &follow($fh)) {
- .say;
- QUIT { note "QUIT ", &?ROUTINE; }
- LAST { note "QUIT ", &?ROUTINE; }
- }
- }
- $fh.close();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement