in reply to works on command line, but not from perl

When you put that string into the system call, you have to escape the "$" in and the backslashes in the sed args:
system( "cat text.txt|wc -l| sed 's/^[ \\t]*//'|sed 's/[ \\t]*\$//'" ) +;
(not tested). The point is that perl will interpolate "\t" and "$/" before they go to the shell, unless you put the necessary escapes in the perl script.

Curiously, I don't see anything being done with the results of that command line. If you were intending to use the output in your perl script, you should be using backticks. Otherwise, you should be redirecting the output to some file or something.

Anyway, why not save yourself all that shell overhead, and do those operations with perl code instead of sed?

(updated to remove extraneous code tag and fix spelling errors)

Replies are listed 'Best First'.
Re^2: works on command line, but not from perl
by elwoodblues (Novice) on Feb 12, 2010 at 02:24 UTC
    Thank you. I cut the problem down to the minimum before posting, taking out the other stuff I was doing with the return value, etc.