Is there a way to interpolate strings that the user enters?
I'm writing a filter (pipe-cat = pat) that lets you add text to the front or end of some piped data: echo "2" | pat "1" - "3\n" The "-" represents the piped data, so the above should print: % echo "2" | pat "1\n" - "3\n" 1 2 3 % But here's what I get: % echo "2" | pat "1" - "3\n" 1\n2 3\n% How can I interpolate the "\n" that the user entered? Here's my code (disclaimer: I'm still very much a novice at this stuff). #! /usr/bin/perl -w $newtxt = ""; while ($_ = shift) { if ($_ eq "-") { open(FILE, "-") || die("Couldn't read from STDIN: $!\n"); undef $/; $newtxt .= <FILE>; close(FILE); } else { $newtxt .= $_; } } $/ = "\n"; chomp $newtxt; print $newtxt, "\n"; exit(0); I'm also very much open to tips from the pros on this stuff. TIA! - Bryan -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>