my $tag = ""; while () { ($tag = $1, next) if /\{(\w+)\}/; print $_ if $tag eq "AUTHOR"; } #### my $tag = ""; while () { $tag = $1 if /\{(\w+)\}/; next if /\{/; print $_ if $tag eq "AUTHOR"; } #### my $flag = 0; while () { $flag = ($1 eq "AUTHOR") if /^\{(\w+)\}$/; print $_ if $flag and not /^\{/; }