txt: ## cathandle.md
  ## Chunk 2 of 2
  -switch`](/type/IO/CatHandle#method_on-switch) [`Callable`](/type/Callable) can be used to conveniently lock/unlock the handles as they're being processed by the CatHandle.
  
  ## [method words](#class_IO::CatHandle "go to top of document")[§](#method_words "direct link")
  
  ```raku
  method words(IO::CatHandle:D: $limit = Inf, :$close --> Seq:D)
  ```
  
  Same as [`IO::Handle.words`](/type/IO/Handle#routine_words) (including the caveat about more data read than needed to make some number of words). Note that a boundary between source handles is considered to be word boundary.
  
  ```raku
  (my $f1 = 'foo'.IO).spurt: 'foo bar';
  (my $f2 = 'bar'.IO).spurt: 'meow';
  IO::CatHandle.new($f1, $f2).words.raku.say;
  # OUTPUT: «("foo", "bar", "meow").Seq␤»
  
  ```
  
  Note: if `:$close` is `False`, fully-consumed handles are **still** going to be closed.
  