Perlの場合

ローカル変数を定義するmyは省略しています。
スクリプト言語の始祖ともいえる存在のため、 今眺めても驚くような構文はないですけど、比較対象として載せています。

# 複数行のコメントは
# このように
# 書けません。

# 1行コメントはこのように書けます。

use warnings;

print("Hello, World.\n");
print("こんにちは。\n");

$var1 = 42;
$var2 = 35;
$var3 = $var1 + $var2;
$var4 = $var1 - $var2;

print("結果は${var3}と${var4}\n");

$msg = "結果は" . $var3 . "と" . $var4;
print($msg . "\n");

# C言語式の代入とインクリメント演算子もある
$var2 += 18;
$var3--;
$var4++;
print("${var2} ${var3} ${var4}\n");

# 配列 初期化時の値は 42 53 76 8
@arr1 = ($var1, $var2, $var3, $var4);

# 分岐と反復。Else Ifはelsif
foreach $v (@arr1){
    if($v >= 50){
        print("${v}は50以上です。\n");
    } elsif($v >= 40 && $v < 50){
        print("${v}は40以上50未満です。\n");
    } else {
        print("${v}は50未満です。\n");
    }
}

# 普通のfor文もある
$var5 = 1;
for($i=0; $i < @arr1; $i++){
    $var5 *= $arr1[$i];
}

# 整形出力。カンマ区切りを行う組み込み関数は無い
print("計算結果:[" . sprintf("%15.2f", $var5) . "]\n");

$str1 = "Hello,Power,Shell,World";
print("文字列の長さは" . length($str1) . "\n");

# 大文字に変換
print(uc($str1) . "\n");
# 配列を分割
@arr2 = split(/,/, $str1);
# 配列を表示
print @arr2;
print "\n";

foreach $v (@arr2){
    if($v =~ /^.[opqr]/){ # 2文字目がopqrのいずれか
        print("${v}はマッチします。\n");
    } else {
        print("${v}はマッチしません。\n");
    }
}

# 現在時刻の取得
use POSIX 'strftime';
$dstr1 = strftime("%Y/%m/%d %H:%M:%S", localtime());

# 指定した年月日の値を取得
# 並び順は秒分時日月年で、月は1を、年は1900を引く必要がある
use Time::Local 'timelocal';
$tm = timelocal(0, 0, 0, 26, 4-1, 2020-1900);
$dstr2 = strftime("%Y/%m/%d", localtime($tm));

# ヒアドキュメント。<は2文字。またセミコロンの位置に注意
$s = <<END;
現在時刻は${dstr1}です。
特定の日付とは…${dstr2}です。
END
print($s);
# end.