Solved

Get output from a program

Posted on 2002-05-10
6
122 Views
Last Modified: 2010-03-05
I need the output of a program.

something like

$comandOutput = execute("ll");
print $comandOutput

that produce the some output that ll comand
0
Comment
Question by:oleber
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
6 Comments
 
LVL 1

Expert Comment

by:japhyRPI
ID: 7001657
Use backticks or qx():

  $output = `command`;  # one big string
  @output = `command`;  # list of lines
  $output = qx[command];  # one big string
  @output = qw[command];  # list of lines

You can also use open(), but the above should be sufficient.
0
 
LVL 10

Author Comment

by:oleber
ID: 7001687
perl -e 'my $a = qx[ll]; print $a;'

this didn't work for me. No output from the program
0
 
LVL 1

Expert Comment

by:japhyRPI
ID: 7001695
What is the program?  Did you check $! for an error message?

  my $output = qx[ll] or warn "couldn't run ll: $!";
  print $output;
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 51

Expert Comment

by:ahoffmann
ID: 7002968
does ll expect user input? probably replace by ls -la
0
 
LVL 10

Author Comment

by:oleber
ID: 7013266
The problem is that I'm using a old version of Perl (5.005_03 for sun4-solaris), in windows with a newer version all solucitons works.
0
 
LVL 1

Accepted Solution

by:
smisk earned 50 total points
ID: 7014474
Here's a different way, using a routines similar to popen() in C.  Backticks are much neater, but try this on your perl distribution :

#! /usr/local/bin/perl

open(FP, "ls -la |") || die "open: $!";
@lines = <FP>;
print @lines;
close(FP) || die "close: $!";
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Many time we need to work with multiple files all together. If its windows system then we can use some GUI based editor to accomplish our task. But what if you are on putty or have only CLI(Command Line Interface) as an option to  edit your files. I…
Checking the Alert Log in AWS RDS Oracle can be a pain through their user interface.  I made a script to download the Alert Log, look for errors, and email me the trace files.  In this article I'll describe what I did and share my script.
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…

730 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question