in reply to need more explanation on the second arguement in open

From open:
You may use the three-argument form of open to specify IO "layers" (sometimes also referred to as "disciplines") to be applied to the handle that affect how the input and output are processed (see open and PerlIO for more details). For example

open(FH, "<:utf8", "file")

will open the UTF-8 encoded file containing Unicode characters, see perluniintro. Note that if layers are specified in the three-arg form then default layers stored in ${^OPEN} (see perlvar; usually set by the open pragma or the switch -CioD) are ignored.

  • Comment on Re: need more explanation on the second arguement in open