Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re^5: Problem with escape sequence \x for hex with spaces "\x{ 263A }" (update: codepage)

by kcott (Archbishop)
on Jun 11, 2022 at 19:03 UTC ( #11144698=note: print w/replies, xml ) Need Help??


in reply to Re^4: Problem with escape sequence \x for hex with spaces "\x{ 263A }" (update: codepage)
in thread Problem with escape sequence \x for hex with spaces "\x{ 263A }"

I don't use the debugger (except in exercises like this) so it's more trial and error than knowledge for me. Anyway, I found the issue actually revolves around whether p or print is used.

$ perl -C -de1
...
  DB<1> print "\x{263A}"
☺
  DB<2> p "\x{263A}"
Wide character ...
...
☺

My guesswork here was based on a long-standing alias of mine:

$ alias perlu alias perlu='perl -Mstrict -Mwarnings -Mautodie=:all -Mutf8 -C -E'

For example:

$ perlu 'say for $], "\x{263A}", "\x{ 263A }"'
5.036000
☺
☺

Update (checking for false positives):

$ perl -de1
...
  DB<1> print "\x{263A}"
Wide character ...
...
☺
$ alias perle alias perle='perl -Mstrict -Mwarnings -Mautodie=:all -MCarp::Always -E +'
$ perle 'say for $], "\x{263A}", "\x{ 263A }"'
5.036000
Wide character in say at -e line 1.
☺
Wide character in say at -e line 1.
☺

— Ken

  • Comment on Re^5: Problem with escape sequence \x for hex with spaces "\x{ 263A }" (update: codepage)
  • Select or Download Code

Replies are listed 'Best First'.
Re^6: Problem with escape sequence \x for hex with spaces "\x{ 263A }" (debugger's unicode support)
by LanX (Sage) on Jun 11, 2022 at 19:40 UTC
    > whether p or print is used.

    good and weird catch.

    I can reproduce that with -CO on windows

        
    C:\tmp>perl -CO -de0
    
    ...
    
      DB<1> p "\x{263A}"
    Wide character in print at (eval 15)c:/nonBKU/strawberry-perl-5.32.1.1-64bit-portable/perl/lib/perl5db.pl:738 line 2.
    ...
    
    ☺
      DB<2> print "\x{263A}"
    ☺
      DB<3> q
    

    I know that p is a hardcoded command and the debugger is fiddling with IO to ensure that debugged program and interactions don't mess with each other.

    Still surprising, hope I find time to look into this.

    > I don't use the debugger

    pity, it's pretty close to a REPL, and both python and ruby come with easy REPLs

    Cheers Rolf
    (addicted to the Perl Programming Language :)
    Wikisyntax for the Monastery

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11144698]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (3)
As of 2022-08-10 16:52 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?