Late Weekly challenge 67 #1 only

I wrote some library to make combination in 2013.
I was overwhelming when I found this challenge but I found that it is buggy !!!

I think that finding combination isn't necessarily written using recursive calling.
so this is my first "working" solution.

it is possible to use some list of words (ex) "a", "b", "c" ) instead of number.

It was bound to happen.

While I don't actually work in Perl these days, and not by choice, I still keep an eye on the community. The language is chugging along nicely. Perl 6 is out, so at least that joke has died down, features are being added, some beneficiary, some not. All is well in perland.

Then the news dropped. Perl 7. I was very interested. More so when I realised that it was a rebranding of the latest Perl. First, let me say one thing right off the bat. It's a good call. I'm all for it. In fact, I'm so all for it that I called for it in a post from 2011. At the time I suggested using codenames like Apple and others do, or to rebrand Perl 5.14 (at the time) as Perl 14 like Java did.

Here's why I thought, and still do, that this "rebranding" is a Good Thing:

CY's Take on PWC#067

This is a part of Perl Weekly Challenge(PWC) and the followings are related to my solutions. If you want to challenge yourself on Perl, go to https://perlweeklychallenge.org, code the latest challenges, submit codes on-time (by GitHub or email)(before Monday GMT+0 00:00) if possible, before reading my blog post.


The discussion of Perl 7 in blogs.perl.org # was so hot last week made me too shy to write PWC experience (stop, it's just an excuse!).

Some discussions were quite technical for a beginner. Anyway as a beginning coder in Perl 5, I would add "use warnings" in my final coding stage from now on to prepare for the change.

PWC#67 Task #2: Letter Phone

YouTube: The Weekly Challenge - 067

Task #1: Number Combinations (Perl)

Task #2: Letter Phone (Perl)

Perl Weekly Challenge 67: Number Combinations and Letter Phone

These are some answers to the Week 67 of the Perl Weekly Challenge organized by Mohammad S. Anwar.

Spoiler Alert: This weekly challenge deadline is due in a couple of days (July 5, 2020). This blog post offers some solutions to this challenge, please don’t read on if you intend to complete the challenge on your own.

Task 1: Number Combinations

You are given two integers $m and $n. Write a script print all possible combinations of $n numbers from the list 1 2 3 … $m.

Every combination should be sorted i.e. [2,3] is valid combination but [3,2] is not.

Example:

Input: $m = 5, $n = 2

Output: [ [1,2], [1,3], [1,4], [1,5], [2,3], [2,4], [2,5], [3,4], [3,5], [4,5] ]

Note that I don’t consider the formatting of the displayed output above to be part of the task.

Number Combinations in Raku

Lucky Number Per7

I swear it was Perl 5 just a moment ago. I turned my back for all of 5 minutes ...

I don't need the new features, but I don't like boilerplate and I'm happy to accommodate those who seek progress. Harking back to lessons from the past, SysAdmins of a certain age may remember the venerable a2p program for converting awk scripts to perl and the horrendous (but working) code that it produced. We had one of those running in production less than 2 years ago until I finally decided to re-write it in Modern Perl. A bit like moving house, as a community we need to face the pain every so often and address the risks and ptifalls, not as reasons to keep to the status quo, but as a checklist of problems to be solved.

Perhaps the most Perlish thing to do would be to actually go and ask the Python community what they would do differently in migrating to python3. Learn from other people's mistakes.

Breathing life into the (Emacs) cperl-mode

If you are an Emacs user, you might know or even use cperl-mode. I am using it, more or less since my first days with Perl. Back then, newsgroups were a thing, and Ilya Zakharevich recommended it occasionally. In older times cperl-mode was shipped with Perl, today it is part of Emacs.
If you use cperl-mode, you might also have had a look at the code and noticed that it hasn't seen much love in the last decade or so.
Perl, on the other hand, evolves. Version 5.32, for example, brings a new infix operator, and some future version might bring Cor.
Wouldn't it be nice if cperl-mode understood these new keywords?
I'm on my way to get familiar with emacs-lisp, ERT, and other stuff to see what I can do.
Ideas, contributions, comments, bug requests and criticism is welcome - There's a GitHub repository to get started.

BLOG: The Weekly Challenge #067

https://perlweeklychallenge.org/blog/weekly-challenge-067

From the user perspective, Perl strings have no bugs and work well.

I feel that in the upcoming version of Perl, the core team fixes the Unicode bug as a reason to break backward compatibility Perl 5.

Unicode in Perl internally has some inconsistencies due to conflicts between latin-1 and UTF-8.

this is true.

On the other hand, from the user's point of view, a Perl string works perfectly fine if you only accept it can't tell whether it's a decoded string or a bytes.

We are solving this problem by convention.

Where do we determine if it is a string or a bytes?

The inside and outside of the program are completely separate.

If the data comes in from outside, then we will determine if it is a bytes or a string.

If it is a bytes, do nothing.

If it is a string, decode it.

This is simple and all of all works well.

In fact, this way is a good one.

Inside the program, we don't need to worry about the character code.

Perl 7: A Risk-Benefit Analysis

At the recent Conference in the Cloud for Perl and Raku, Sawyer X (the pumpking of Perl) announced an ambitious plan for Perl 7. Since Perl 6 was renamed to Raku to better communicate its fundamental differences from the well known identity of Perl, major versions are now available again for Perl to leverage, and it is a very important step to show that the language is still developed and used. I completely agree with the motivation and ideals presented, and have thought a lot about the benefits and risks involved in such ideas long before I was aware of this project.

Perl Weekly Challenge 66: Divide Integers and Power Integers

These are some answers to the Week 66 of the Perl Weekly Challenge organized by Mohammad S. Anwar.

Task 1: Divide Integers

You are given two integers $M and $N.

Write a script to divide the given two integers i.e. $M / $N without using multiplication, division and mod operator and return the floor of the result of the division.

Example 1:

Input: $M = 5, $N = 2
Output: 2

Example 2:

Input: $M = -5, $N = 2
Output: -3

Example 3:

Input: $M = -5, $N = -2
Output: 2

Please not yet-another-oo-system, let's support frameworks

I'm very keen to be actively deprecating and removing syntactic oddities that folks should already be prohibiting via good perlcritic policies (i.e linting) hopefully in their editors and CI pipelines.

And standard perl is a good way for code bases to prepare for the future and derive real benefits right now. Both build on the meritocracy approach of CPAN.

It is that meritocracy that brought us the object frameworks Moose (which people seemed to feel was too big) and then Moo+Type::Tiny (which people seem to feel is about right). There are many other frameworks (object systems) which perl's minimalist internal object functions enable people to write, if one of them strikes a better balance of trade off's then there is nothing to stop it supplanting Moo as number one.

Thinking and Question of The Proposal for Perl 7 - day1

I write my thinking and question about Proposal for Perl 7.

The Proposal for Perl 7

1. MAJOR version when you make incompatible API changes,

First of all, I am wondering about this assumption.

This is because there are very few incompatible API changes in Perl's history (Perl 1, 2, 3, 4, 5).

If the Python developers are thinking this way, it makes sense.

Has Perl ever thought of this in history?

Perhaps Perl has kept the maximum backward compatibility even in the major version upgrade?

The fact about Perl (rather than theory or ideal) is that Perl has kept its backward compatibility so that it can execute the assets of older programs.

Perl has taken care of old users who use Perl for a long time and cannot easily change their habits.

I believe this is Perl's kindness.

Perl is a language that emphasizes facts, reality and work, practicality.

Perl 5 has been very successful because it keeps backword compatibility with Perl 4.

I believe that this idea will be very successful even when upgrading from Perl 5 to Perl 7.

Because it really succeeded.

Perl 7 Thoughts

Overall, I think the Perl 7 announcement is great news.

I only have one small objection:

Perl 7, not quite getting better yet

Hegel remarks somewhere that all great world-historic facts and personages appear, so to speak, twice. He forgot to add: the first time as tragedy, the second time as farce.

The Eighteenth Brumaire of Louis Napoleon - Karl Marx

Sawyer just announced his plans for perl 7. And while Perl 7 sounds like a lovely language, I do see a number of issues:

Cohabitation / Forking

The proposal is presented as a linear progress, I don't believe this is realistic. This would be fork much like the python 3 transition is (which also wanted to be a simple linear progression). As we all know, they're currently in year 12 of a 5 year transition.

There are several problems here. CPAN as an ecosystem is the one that is given most attention to (not without reason; it is without doubt the most important collection of Perl code), but it's not even the biggest problem.

The Perl 7 tl;dr

Sawyer X, Perl's volunteer Project Lead, announced at The Perl Conference in the Cloud that Perl will make the jump to a new major version, Perl 7. This allows the next version to accept saner, more modern default settings. So far, Perl 5 has been compatible back its first release in 1994. Perl 7, expected to be released within the next year, sets defaults and enables features that most people use today. When Perl 7 is released, Perl 5 will go into long term maintenance for an extended window far beyond its normal two-year, two version support policy. Supported Perl 5 versions will continue to get important security and bug fixes.

CY's take on PWC#065

Good morning from the Asian timezone.

This is a part of Perl Weekly Challenge(PWC) and the followings are related to my solutions. If you want to challenge yourself on Perl, go to https://perlweeklychallenge.org, code the latest challenges, submit codes on-time (by GitHub or email)(before Monday GMT+0 00:00) if possible, before reading my blog post.

🤔

The Secret XS Diaries

I just rediscovered an old project of myself when I was learning Perl/XS and wanted to drop a hint to it here.

It might be useful for others who also have no idea how XS works and who would benefit from the approach and point of view of another XS newbie.

It is both the step-by-step description and a CPAN-ready Perl distribution.

You can find it on github:

Acme::The::Secret::XS::Diaries

Happy hacking.

Cannot change password

Wouldn't it be nice to be able to change my (hacked) password for blogs.perl.org?
Unfortunately, the password change form complains that it couldn't verify my current password, which doesn't come as a surprise as there is no field on the form to enter it.

Contacting author of Net::Azure::StorageClient

I am trying to contact Junnama Noda author of Net::Azure::StorageClient

I have sent two emails now to the public email address listed in his public github profile and have received no bounce or response.

If anyone is in contact with him, please have him contact me

Dean

About blogs.perl.org

blogs.perl.org is a common blogging platform for the Perl community. Written in Perl with a design donated by Six Apart, Ltd.