ボルダリングをやってきた

昨日のことになるけど、ボルダリングをやってきた。
ボルダリングっていうのは、Wikipediaによると:

ボルダリング(Bouldering)とは、フリークライミングの一種で2mから4m程度の岩や石を確保無しで登るスポーツである。

というわけなんだけど、いってきたのはインドアのいわゆるボルダリングジム。
初めてなので、まずは登録から。施設利用料を払って、あとはシューズとチョークバッグをレンタルした。道具をレンタルできるので、運動しやすいカッコウさえしていけばいいって言うのは楽でいい。
次に、簡単なルールと注意事項、課題の説明をしてもらったら、後は自由に楽しんでください、とのこと。

ルールと注意事項

  • 1枚の壁に登るのは一人ずつ。
  • 登る順番は決まっていないので、適当に譲り合ってあって登る。
  • 課題(後述)のスタートとゴールは両手で持つ。
  • 降りるときは課題のホールドにこだわらずに降りていい。
  • ある程度まで降りたら飛び降りてもいいけど、十分に注意して足から着地すること。

大体こんなところだったと思う。

課題

壁には大小いろいろなでばっぱりが貼り付けてあって、これをホールドという。で、ホールドごとに色と番号が振ってあって、同じ色と番号のホールドを使って登るのが課題。
課題には2通りあって、

  • 手で持つホールドだけ指定されている足自由の課題と(1から番号がついている)
  • 手足とも指定されたホールド(アルファベットがついている)しか使えない手足指定の課題

がある。当然手足指定の課題のほうが難しい。

で、初めての俺は足自由の課題の中でも簡単なピンクの1番から始めることにした。最初は順調だったけど、8番までこなしたころには手が疲れて握力がなくなってきてホールドをつかんでいられなくなった。
ここまでで約2時間半、自分の体力の無さを実感した1日でした(2時間半しかやってないけど)。

Perl でファイルから行を読み込む

Perl はたまにしか使わないからいつまでたっても覚えない。のでメモ。

ファイルから1行だけ読み込むには:

use strict;
use warnings;

my $file = shift;
open(my $fh, '<', $file) or die "$file: $!";
my $line = <$fh>;

print $line;

実行結果:

^o^ > type sample.txt
sun
mon
tue
wed
thu
fri
sat

^o^ > perl read_line.pl sample.txt
sun

スカラー変数じゃなくて配列変数に代入すると、ファイル全体が1行ずつの配列になる。

use strict;
use warnings;

my $file = shift;
open(my $fh, '<', $file) or die "$file: $!";
my @lines = <$fh>;

foreach my $line (@lines) {
    print $line;
}

実行結果:

^o^ > perl read_lines.pl sample.txt
sun
mon
tue
wed
thu
fri
sat

1行ずつ読み込みながら処理するには、while ループと一緒に使う:

use strict;
use warnings;

my $file = shift;
open(my $fh, '<', $file) or die "$file: $!";

while (my $line = <$fh>) {
    print uc($line);
}

実行結果:

^o^ > perl read_lines_loop.pl sample.txt
SUN
MON
TUE
WED
THU
FRI
SAT