in reply to Small question: Why can't I print "@-"?

That's just the way string interpolation works. You can do it like this:

print "@{+}";
instead.

-sauoq
"My two cents aren't worth a dime.";

Replies are listed 'Best First'.
Re: Re: Small question: Why can't I print "@-"?
by demerphq (Chancellor) on Sep 23, 2003 at 22:00 UTC
    # or print "@{[@+]}\n"; # or print join($"||"",@+),"\n";

    :-)


    ---
    demerphq

      First they ignore you, then they laugh at you, then they fight you, then you win.
      -- Gandhi


      Sure, you could use one of those. But, why would you?

      Would it improve efficiency? Uh uh. Clarity? Certainly not.

      I can't think of a good reason... can you?

      BTW, I didn't realize this was a "bug" fixed in 5.8. I was thinking that perl didn't like to interpolate any variables that didn't start with a \w character. But, putting the name in braces will work with other (admittedly poor choices for) variable names such as @% and @!, not just ones perl knows.

      -sauoq
      "My two cents aren't worth a dime.";
      

        Sure, you could use one of those. But, why would you?

        Actually I'd rate the second one ( without the $" || "" ) as the preferred way to go. I don't tend to like interpolating arrays in anything other than quick and dirty code. If I'm going to output a list I prefer a more distinct end of field character than a space.

        But I _did_ put a smiley face on my node dude... :-)


        ---
        demerphq

          First they ignore you, then they laugh at you, then they fight you, then you win.
          -- Gandhi