http://www.perlmonks.org?node_id=1011357


in reply to $/ usage

If you were expecting the $/="\n"; at the end of your one-liner to do something, that's your problem. That step doesn't do anything.

The undef $/; at the beginning does make sure that all the data in your list file gets slurped into $text, so when you do print $text; you should see the full content of the list, in its original form (as stored in the file).

Did you want to see something different from that?

Replies are listed 'Best First'.
Re^2: $/ usage
by mimiandi (Novice) on Jan 02, 2013 at 21:54 UTC

    "in its original form" - i was expecting to see something like this: server1 ip server2 ip server3 ip etc..
    I was going to do another pattern match on the string $text after getting it in the string.

    perl -e 'undef $/; my $text=<>; 1 while $text =~ s/\b(\w+\d+)\s*\1\b/$ +1/gi; pring $text; $/="\n";' list
      To get all the lines from a slurped input file to show up as a single line on output, you want something like this:
      perl -e 'undef $/; $_=<>; tr/\n/ /; s/ $/\n/; print' list
      Or you could just use unix/linux commands that do the same thing:
      xargs echo -n < list
      (If you want a clean line break at the end of that output, add  && echo at the end.)