[TriLUG] Perl substitution problem

William Sutton via TriLUG trilug at trilug.org
Fri Jun 16 13:32:48 EDT 2017


FWIW, you can also do this interactively.  At your favorite prompt, type

$ perl

and then enter the snippets and see what results (that's what I did). 
Bonus points if (like I did once), someone gives you a programming 
language test prior to a job interview, and you answer the questions by 
running the snippets through the Perl interpreter :-P

(Thanks, TekSystems.  That  was the easiest screening I ever had).

William Sutton

On Fri, 16 Jun 2017, Wes Garrison wrote:

> As William says, you don't need strict, but you do need a #!/usr/bin/perl at
> the top.
> I was just trying to type out a pseudo-code example to show how the comma is
> a problem, but yes the \n has to be inside quotes for it to work.
> 
> So this whole thing was a red herring, as usual.
> 
> The problem was at the bottom of my code I was doing this:
> $output =~ s/\\",/",/gi;
> 
> ...so replacing \", with just ",  so that a " at the end of a comment
> doesn't break the JSON.
> 
> Looks like I just need to use a JSON library instead of trying to build it
> by hand.
> 
> -Wes
> 
> 
> 
> 
> _________________________________
> Wesley S. Garrison
> Network Engineer
> Xitech Communications, Inc.
> phone:  (919) 260-0803
> fax:       (919) 932-5051
> __________________________________
> "Lead us not into temptation, but deliver us from email."
> 
> On Fri, Jun 16, 2017 at 1:18 PM, William Sutton via TriLUG
> <trilug at trilug.org> wrote:
>       use strict not required for my/our.  he did something else when
>       he pasted his code.
>
>       Also, HTH does
>
>       print $string1 \n;
> 
>
>       work in Perl?  It needs to be
>
>       print "$string1 \n";
>
>       otherwise, I'm looking at your question
>
>       William Sutton (Perl expert)
>
>       On Fri, 16 Jun 2017, Brian via TriLUG wrote:
>
>       You need a
>
>       use strict;
>
>       for "my" to work, which Wes omitted probably for the sake
>       of brevity.
>
>       -B
> 
>
>       On 06/16/2017 01:07 PM, karl flores via TriLUG wrote:
>             Error: Parse error on line 1:
>             my $string2 = 'this
>             ^
>             Expecting 'STRING', 'NUMBER', 'NULL', 'TRUE',
>             'FALSE', '{', '[', got
>
>       'undefined'
> 
>
>             On Fri, Jun 16, 2017 at 12:57 PM, Wes Garrison
>             via TriLUG
>
>       <trilug at trilug.org
>                   wrote:
> 
>
>                   My Google-fu is not good enough to
>                   solve this simple problem.
>
>                   I am building some simple JSON
>                   structures by hand in Perl, and I
>                   need to
>                   escape double-quotes.
>
>                   my $string1 = 'this "should"
>                   work';
>                   $string1 =~ s/"/\\"/g;
>                   print $string1 \n;
>                   this \"should\" work
>
>                   ^ Yay!  it substituted correctly
>                   for both double-quotes!
>
>                   my $string2 = 'this "should"*,*
>                   work';
>                   $string2 =~ s/"/\\"/g;
>                   print $string2 \n;
>                   this \"should" work
>
>                   ^ the comma after the second
>                   double-quote broke the
>                   substitution. (and it
>                   breaks my JSON)
>
>                   Why?  What the heck am I missing?
>
>                   -Wes
>                   _________________________________
>                   Wesley S. Garrison
>                   Network Engineer
>                   Xitech Communications, Inc.
>                   phone:  (919) 260-0803
>                   fax:       (919) 932-5051
>                   __________________________________
>                   "Lead us not into temptation, but
>                   deliver us from email."
>                   --
>                   This message was sent to: karl
>                   flores <karl.americorp at gmail.com>
>                   To unsubscribe, send a blank
>                   message to trilug-leave at trilug.org
>                   from that
>                   address.
>                   TriLUG mailing list :
>                   https://www.trilug.org/mailman/listinfo/trilug
>                   Unsubscribe or edit options on the
>                   web  : https://www.trilug.org/
>                   mailman/options/trilug/karl.americorp%40gmail.com
>                   Welcome to TriLUG:
>                   http://trilug.org/welcome
> 
> 
> 
> 
> 
>
>       --
> This message was sent to: William <william at trilug.org>
> To unsubscribe, send a blank message to trilug-leave at trilug.org
> from that address.
> TriLUG mailing list :
> https://www.trilug.org/mailman/listinfo/trilug
> Unsubscribe or edit options on the web  :
> https://www.trilug.org/mailman/options/trilug/william%40trilug.org
> Welcome to TriLUG: http://trilug.org/welcome
> 
> --
> This message was sent to: Wes <wes at xitechusa.com>
> To unsubscribe, send a blank message to trilug-leave at trilug.org from
> that address.
> TriLUG mailing list : https://www.trilug.org/mailman/listinfo/trilug
> Unsubscribe or edit options on the web  :
> https://www.trilug.org/mailman/options/trilug/wes%40xitechusa.com
> Welcome to TriLUG: http://trilug.org/welcome
> 
> 
> 
>


More information about the TriLUG mailing list