Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister

Re^2: how to output file in Unicode

by anakin30 (Acolyte)
on Aug 24, 2012 at 08:25 UTC ( #989453=note: print w/replies, xml ) Need Help??

in reply to Re: how to output file in Unicode
in thread how to output file in Unicode

apreciate if you could explain below lines and what it does?

{my ($f, $s) = @_; can you explain what this line does?

{my $d = $1; can you explain what this line does?

say {$F} $s; can you explain what this line does?

Replies are listed 'Best First'.
Re^3: how to output file in Unicode
by Anonymous Monk on Aug 24, 2012 at 09:03 UTC
Re^3: how to output file in Unicode
by philiprbrenan (Monk) on Aug 24, 2012 at 14:57 UTC
    sub writeUnicode($$) {my ($f, $s) = @_;

    Assigns parameter 1 to the subroutine from @_ to $f and parameter 2 to $s. One could also write my $f = $_[0]; my $s = $_1;

    if ($f =~ /\A(.+[\\\/])/) {my $d = $1; makePath($d); }

    Extracts the path component of the file name and places it in variable $d so that we can make a directory for the output file. If you know that the output directory exists, then there is no need for this code. The assignment to $d is somewhat verbose, one could use makePath($1) to use the first expression captured by the regular expression in the if statement directly. The regular expression captures the text up to the last \ or / in the file name and uses that as the path component.

    say {$F} $s;

    Writes the contents of $s to the file whose handle is in $F. The file is automatically closed at the end of the block containing my $F. This statement is an alternative to $F->say($s);

      I have written this script below,

      the output file generated but i still seeing, German "Umlaut" in the csv output file. Example : Björn

      why the csv output file is not encoded into encoding(UTF-8)??, am i missed any steps here!!!!

      #!/usr/bin/perl use Net::LDAP; use Encode; $outputfile = 'C:\Meta\MDS\data\out\LicMan1.csv'; $outputfile2 = 'C:\Meta\MDS\data\out\LicMan.csv'; open (INPUT, "<:encoding(UTF-8)", $outputfile) or die "Cannot open fil +ename for input: $!"; while (<INPUT>) { s/"//g; $replace .= $_;} close INPUT or die "Cannot close filename: $!"; open (OUTPUT, ">:encoding(UTF-8)",$outputfile2) or die "Cannot open fi +lename for output: $!"; print OUTPUT $replace; close OUTPUT or die "Cannot close filename: $!";


        my $s = "\x{fc}"; say $s; say $s =~ s/\x{fc}/u/gr;

        You can see common unicode points at: amongst many other places on the web.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://989453]
[LanX]: but I don't understand the question...
[GotToBTru]: okay, I see what it does
[GotToBTru]: you;ve answered it .. the expression is meant to be evaluated as written, it is not a symbol for a special operation
[LanX]: '&;@' is a parsing error
[GotToBTru]: by itself, yes, but used in sub pre(&;@) not so
[LanX]: &; is interpreted as a function call, but the @ has no meaning
[LanX]: OH
[LanX]: you are talking about signatures?
[GotToBTru]: yes, it turns out I am
[LanX]: http://perldoc. html#Prototypes

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (8)
As of 2017-01-18 21:10 GMT
Find Nodes?
    Voting Booth?
    Do you watch meteor showers?

    Results (164 votes). Check out past polls.