The problem seems to be in PerlIO::Layer::->find() not
Jarkko Hietaniemi [Thu, 12 Jul 2001 17:08:15 +0000 (17:08 +0000)]
accepting the ":encoding(blurflur)" arguments.

p4raw-id: //depot/perl@11319

lib/open.pm

index 4c18c10..1456666 100644 (file)
@@ -69,20 +69,18 @@ sub import {
                if ($locale_encoding =~ /^utf-?8$/i) {
                    $layer = "utf8";
                } else {
-                   $layer = "encoding";
+                   $layer = "encoding($locale_encoding)";
                }
            }
            unless(PerlIO::Layer::->find($layer)) {
                carp("Unknown discipline layer '$layer'");
            }
-           if (defined $locale_encoding) {
-               $layer = "$layer($locale_encoding)";
-           }
            push(@val,":$layer");
            if ($layer =~ /^(crlf|raw)$/) {
                $^H{"open_$type"} = $layer;
            }
        }
+       # print "# type = $type, val = @val\n";
        if ($type eq 'IN') {
            $in  = join(' ',@val);
        }