getline 中の getline

getline 中で getline を使うとどうなるのでしょうか。
ここでは適当な入力ファイルを使います。

$ cat getline_getline.txt
1
2
3
4
5

良く私は getline を使って BEGIN ブロック中で入力を行うことがありますが、comp.lang.awk のドンこと Ed Morton は嫌っています。
例えば以下のような処理で困ります。

$ cat getline_getline.awk
#! /usr/local/bin/gawk -f
BEGIN {
    while (getline < ARGV[1] > 0) {
        getline;
        print $0;
        exit;
    }
    close(ARGV[1]);
}

意図としては 1 行目を飛ばしたいわけですが、getline では飛ばすことができません。
一方以下のようなものは 1 行目を飛ばすことができます。

$ cat getline_getline2.awk
#! /usr/local/bin/gawk -f
{
    getline;
    print $0;
    exit;
}

実際に実行してみましょう。

$ gawk -f getline_getline.awk getline_getline.txt
1
$ gawk -f getline_getline2.awk getline_getline.txt
2

後付け的な getline ですが、使い方ではかなりの効果を発揮しますので、適材適所で使っていきましょう。