ドラクエウォーク攻略 → https://dqw.ek-pro.com/ を更新したときに、以下のエラーがでた。

Experimental keys on scalar is now forbidden
スカラーの実験的なキーは現在禁止されています

PCを新しくしたのだが、その際にPerlのバージョンも新しくした為だと思われれる。


もとのコードは以下の通りで、DBにSELECTをして結果をハッシュとして取得、ハッシュのリファレンスからキーを取得する、という流れだった。
#特殊効果の説明テーブルを全件検索し、結果をハッシュとして取得、結果のハッシュからキーをすべて取得し、配列に格納する
#SQL
my $select_tokushu_setsumei = 'select * from "tokushu_kouka_setsumei"';

#SELECT実行
my $sth = $dbh->prepare($select_tokushu_setsumei);
my $rv = $sth->execute();

#結果をハッシュとして取得し、キー値を配列に格納
my $hash_tokushu_kouka_name = $sth->fetchrow_hashref();
my @array_tokushu_kouka_name = keys $hash_tokushu_kouka_name;


で、この「keys」という部分で「Experimental keys on scalar is now forbidden(スカラーの実験的なキーは現在禁止されています)」に該当していた。


https://perlzemi.com/blog/20080210120265.html
ハッシュのリファレンスを引数として渡す場合は、デリファレンスする必要があります

# すべてのキーを取得。ハッシュのリファレンスの場合。
my @keys = keys %$hash;



を参考にし(ありがとうございます)、

my @array_tokushu_kouka_name = keys %$hash_tokushu_kouka_name;

のかたちでデリファレンスすることで解決!!
Bootstrap4からBootstrap5(5.1.2)へ移行してみました。
自分のウェブサイトではそんなに手間はなかったです。


scriptタグで読み込む bootstrap.bundle.min.js を変更。



styleタグで読み込む bootstrapのcss を最新へ変更。



cssの変更(追加)。
a 要素がブラウザのデフォルトスタイルが適用、つまりアンダーラインが表示されるようになった点の修正と、
パンくずリストのスタイルが無くなった(?)点について、bootstrap4の方のcssをコピペして修正。
a {
text-decoration: none;
}
main a:hover {
text-decoration: underline;
}

.breadcrumb {
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
padding: .75rem 1rem;
margin-bottom: 1rem;
list-style: none;
background-color: #e9ecef;
border-radius: .25rem;
}




table要素に付与している.tableクラスに .table-borderless を追加(table table-borderless)。



メニューバーまわりのクラスをbootstrap5用に変換。


<button id="dqfaqCollapse" class="navbar-toggler" data-toggle="collapse" data-target="#navbar-header" aria-controls="navbar-header" aria-expanded="false" aria-label="ナビゲーションの切替">



<button id="dqfaqCollapse" type="button" class="navbar-toggler" data-bs-toggle="collapse" data-bs-target="#navbar-header" aria-controls="navbar-header" aria-expanded="false" aria-label="ナビゲーションの切替">




<div id="navbar-header" class="collapse navbar-collapse">
<ul class="navbar-nav mr-auto w-100 nav-justified text-left">



<div id="navbar-header" class="collapse navbar-collapse justify-content-end">
<ul class="navbar-nav nav-justified text-left">



<a href="#" class="nav-link dropdown-toggle" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">管理メニュー</a>
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown">



<button class="btn nav-link dropdown-toggle" id="navbarDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">管理メニュー</button>
<div class="dropdown-menu dropdown-menu-end" aria-labelledby="navbarDropdown">


bootstrap公式(英語:https://getbootstrap.com/)と、こちらのbootstrap設置ガイドさんの、boostrap4記事がとても役にたった。
日本語(母国語)で分かりやすい資料があるのは本当にありがたいです。これを個人でやっているなら相当変態…(褒めてる)。
https://bootstrap-guide.com/components/navbar

chart.jsのレーダーチャートでは、各項の最大値を個別に設定はできない。

例えば、小学校のテストなどであれば最大値が100点で、数学80点、国語75点等と最大値が揃っているのでグラフがいい感じになるが、例えばセンター試験では英語200点、社会100点等であり、最大値を200としてしまうと、仮に社会が100点満点でもグラフ上はそこだけ凹んで見えてしまう。

解決方法としては、以下のstackoverflowに載っていた。

Set max value for each label with Chart.js
https://stackoverflow.com/questions/35975103/set-max-value-for-each-label-with-chart-js

fiddleは以下。
http://jsfiddle.net/cq1q5wuf/

コードはこんな感じ。
それぞれのツールチップを表示する前に、値をスケーリングしてから、スケーリング係数で除算している。
var scaling = [10, 10, 10, 1, 1, 1, 1];
var data = {
labels: ["Eating", "Drinking", "Sleeping", "Designing", "Coding", "Cycling", "Running"],
datasets: [
{
label: "My First dataset",
fillColor: "rgba(220,220,220,0.2)",
strokeColor: "rgba(220,220,220,1)",
pointColor: "rgba(220,220,220,1)",
pointStrokeColor: "#fff",
pointHighlightFill: "#fff",
pointHighlightStroke: "rgba(220,220,220,1)",
data: [5, 5, 9, 81, 56, 55, 40].map(function (e, i) {
return e * scaling[i];
})
}
]
};

var ctx = document.getElementById("myChart").getContext("2d");
var myRadarChart = new Chart(ctx).Radar(data, {
tooltipTemplate: function (valueObject) {
return valueObject.value / scaling[data.labels.indexOf(valueObject.label)];
}
});


過去記事の見直しに伴い、投稿日付がぶれています。
適宜修正しますので、日付はとりあえず無視でお願いします。

ピリオドの彼方に(http://period.ek-pro.com/)
雑文中心のブログ。

イイラボ(http://labo.ek-pro.com/)
ウェブサイトを構築するにあたっての知識を集めたウェブサイト。

ピカリンク(http://pikalink.net/)
リンク用HTMLを自動的に生成するWEBサービス。
EKSクラスターを作成するのと、Fargateプロファイルを作成するyamlは分離したかったが、情報が全然なくて辛かった。
サンプル載せておきます。

yamlファイルのサンプル。

fargateProfile.yaml
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig

metadata:
name: eks-cluster-test-01
region: us-east-1

fargateProfiles:
- name: default
selectors:
- namespace: default
- namespace: kube-system
subnets:
- subnet-***************
- subnet-***************

コマンド
eksctl create fargateprofile -f fargateProfiles.yaml

だめな削除方法
eksctl delete fargateprofile -f fargateProfiles.yaml
→Error: invalid Fargate profile: empty name と怒られる

削除(成功するパターン)
$ eksctl delete fargateprofile --name yzk --cluster eks-cluster-test-01