Code:

#+BABEL: :cache yes :tangle yes :noweb yes

#+NAME: top_block
#+begin_src perl :tangle "test.pl" :noweb tangle
  #!/usr/bin/perl

  use strict;
  use warnings;

  open(my $fh, "<", "test.txt")
      or die "cannot open < file name: $!";
  <<output-all>>
  close($fh);
#+end_src

#+NAME: output-all
#+begin_src perl
  while (my $line = <$fh>) {
      print $line;
  }
#+end_src

Outputs a perl file, where the 1-st line is blank. What should I do to remove it?