The Perl 6 One-Liner Advent Calendar 2018 is over! Letβs make a quick overview of what we have covered so far. There were a few themes covered. First, some one-liners from the Perl 6 Calendar 2019 were explained in more detail. We looked at how to generate random passwords and random integers, how to print … Continue reading “π 26/25. Overview of the Perl 6 One-Liner Advent Calendar 2018”
Month: December 2018
π 25/25. Tips and ideas for the Perl 6 Golf code
Welcome to Day 25, the last day of the Perl 6 One-Liner Advent Calendar! Traditional advent calendars have only 24 entries, and our bonus post today will be dedicated to some tips and tricks that you can use in Perl 6 golf contest. There is a great site, code-golf.io, where you can try solving a … Continue reading “π 25/25. Tips and ideas for the Perl 6 Golf code”
π 24/25. Reading files with $*ARGFILES in Perl 6
Welcome to Day 24 of the Perl 6 One-Liner Advent Calendar! In the previous days, we were reading text files, so it would be logical to talk about $*ARGFILES, a built-in dynamic variable that may be handy when working with multiple input files. How do you read two or more files passed in the command-line? … Continue reading “π 24/25. Reading files with $*ARGFILES in Perl 6”
π 23/25. Calculating totals with Perl 6
Welcome to Day 23 of the Perl 6 One-Liner Advent Calendar! End of the year is the time when people evaluate there year results, and Perl 6 can help with that, too. Today, weβll see a one-liner that calculates totals for the columns of a table. Hereβs some sample data in a file: 100.20 303.50 … Continue reading “π 23/25. Calculating totals with Perl 6”
π 22/25. Reversing a file with Perl 6
Welcome to Day 22 of the Perl 6 One-Liner Advent Calendar! Today, we will continue working with files, and the goal for today is to create a one-liner to print the lines of a text file in reversed order (as tail -r does it). The first one-liner does the job with the STDIN stream: .say … Continue reading “π 22/25. Reversing a file with Perl 6”
π 21/25. Merging files horizontally in Perl 6
Welcome to Day 21 of the Perl 6 One-Liner Advent Calendar! Only a few days left until the end of this season of advent calendars, so letβs pack as many things as possible in the remaining days, and today we’ll merge a few files into a single file π Our todayβs goal is to take … Continue reading “π 21/25. Merging files horizontally in Perl 6”
π 20/25. Using command-line options in Perl 6 one-liners
Welcome to Day 20 of the Perl 6 One-Liner Advent Calendar! So far, we created about 25 different one-liners, but never talked about the command-line options that the Rakudo Perl 6 compiler offers to us. -e The first option to know when working with (Rakudo) Perl 6 is -e. It takes a string with your Perl 6 one-liner … Continue reading “π 20/25. Using command-line options in Perl 6 one-liners”
π 19/25. Using map and Seq to compute the value of Ο in Perl 6
Welcome to Day 19 of the Perl 6 One-Liner Advent Calendar! Today, we will be computing the value of Ο using two different methods. The goal of this blog post is to play with different approaches to generate numeric sequences. Pre-party Of course, in Perl 6 you donβt need to calculate the value of Ο … Continue reading “π 19/25. Using map and Seq to compute the value of Ο in Perl 6”
π 18/25. Renaming files with Perl 6
Welcome to Day 18 of the Perl 6 One-Liner Advent Calendar! Today, there will be a true one-liner, in the sense that you run it from the terminal as a devops. Our task is to rename all the files passed in the command-line arguments and give the files sequential numbers in the preferred format. Here … Continue reading “π 18/25. Renaming files with Perl 6”
π 17/25. Playing with prime numbers in Perl 6
Welcome to Day 17 of the Perl 6 One-Liner Advent Calendar! Today, weβll have two one-liners, both generating some prime numbers. Part 1 First, let us solve Problem 7 of Project Euler, where you need to print the 10001st number (having the first being 2). Perl 6 is good at prime numbers, as it has … Continue reading “π 17/25. Playing with prime numbers in Perl 6”
π 16/25. Distance between two points in Perl 6
Welcome to Day 16 of the Perl 6 One-Liner Advent Calendar! Today, weβll solve a simple problem and will find the distance between two points on a surface. Hereβs an illustration to help to formulate the task. Our goal is to find the distance between the points A and B. To make the answer more … Continue reading “π 16/25. Distance between two points in Perl 6”
π 15/25. Playing with Fibonacci numbers in Perl 6
Welcome to Day 15 of the Perl 6 One-Liner Advent Calendar! Today, there will be two one-liners, and they both generate Fibonacci numbers. Yes, most likely, you never used such numbers in real code, and, again, most likely, you solved many educating problems with them. Nevertheless, today, letβs solve the Problem 25 of the Project … Continue reading “π 15/25. Playing with Fibonacci numbers in Perl 6”
π 14/25. Another solution of yesterdayβs problem
Welcome to Day 14 of the Perl 6 One-Liner Advent Calendar! Today, we are presenting another solution of the problem we were solving yesterday. The task was to count all Sundays that fall on the first of the month in the XX century. Yesterday, we just scanned through all the days in the whole century, … Continue reading “π 14/25. Another solution of yesterdayβs problem”
π 13/25. How many days in the century match the condition?
Welcome to Day 13 of the Perl 6 One-Liner Advent Calendar! Todayβs one-liner will be quite long, and it would be better to write it in two lines, but it will show a very nice feature of Perl 6βs Date objects: it can be easily used in a range. Today, we are solving Problem 19 … Continue reading “π 13/25. How many days in the century match the condition?”
π 12/25. Whatβs behind 0.1+0.2 in Perl 6
Welcome to Day 12/25 of this yearβs Perl 6 One-Liner Advent Calendar! Today, we will examine a one-liner that computes a zero. say 0.1 + 0.2 – 0.3 If you are familiar with programming, you know well that as soon as you start using floating-point arithmetic, you loose precision, and you can face the small … Continue reading “π 12/25. Whatβs behind 0.1+0.2 in Perl 6”
π 11/25. Solving the Problem 34 in Perl 6
Welcome to Day 11 of the Perl 6 One-Liner Advent Calendar! Today, the calendar post is totally devoted to the solution of problem 34 of Project Euler. Once again, let me warn you to pause reading if you want to find your own solution prior to seeing mine. So, the task is to find the … Continue reading “π 11/25. Solving the Problem 34 in Perl 6”
π 10/25. Reduction operator in Perl 6
Welcome to Day 10 of the Perl 6 One-Liner Advent Calendar! Today, there will be three one-liners instead of a regular one. Our todayβs guest is a reduction construction with a pair of square brackets. When they do not surround an array index, they work in a completely different field. Example 1 The most classical … Continue reading “π 10/25. Reduction operator in Perl 6”
π 9/25. More on X, .., and … in Perl 6
Welcome to Day 9 of the Perl 6 One-Liner Advent Calendar! On Day 6, we had a construct with a cross-operator, (999…100) X* (999…100). Today, weβll dive into a similar construction from November: 1..10 X* 1..10 It prints the items of the product table for the numbers from 1 to 10: (1 2 3 4 … Continue reading “π 9/25. More on X, .., and … in Perl 6”
π 8/25. Adding up even Fibonacci numbers in Perl 6
Welcome to Day 8 of this year’s Perl 6 One-Liner Advent Calendar. It is aboutΒ ΒΌ of the whole series, and donβt forget that you can typeΒ ΒΌ instead of 0.25 in Perl 6! Today, we are solving problem 2 from Project Euler. The task is to find the sum of all even Fibonacci numbers below four … Continue reading “π 8/25. Adding up even Fibonacci numbers in Perl 6”
π 7/25. The joy of Unicode in Perl 6
Welcome to Day 7 of the Perl 6 One-Liner Advent Calendar! Today, weβll look at the month of March in the Perl 6 Calendar 2019: The code here is using three characters outside of the ASCII land. We can even add one more: say Ο Γ $πΒ² In Perl 6, you can freely use Unicode … Continue reading “π 7/25. The joy of Unicode in Perl 6”