Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer

Using scalar variable in system set of commands

by dtbach (Novice)
on Nov 01, 2012 at 14:29 UTC ( #1001835=perlquestion: print w/ replies, xml ) Need Help??
dtbach has asked for the wisdom of the Perl Monks concerning the following question:

Seeking grate Perl Monks Wisdom

Just starting to learn perl, (as evident by my code and question, but everyone has to start somewhere).

print "Enter month (Abc) \n"; my $month = <STDIN>; chomp $month; system ("mailq \| grep \@ \| \$month \|sort +6 -7");

When using $month I get no output, however if I use Oct or Nov code works fine. Using perl -c and there doesn't appear to be any errors, however must be something wrong with the code. Thank you, Darryl

Comment on Using scalar variable in system set of commands
Download Code
Replies are listed 'Best First'.
Re: Using scalar variable in system set of commands
by choroba (Canon) on Nov 01, 2012 at 14:37 UTC
    By using the backslash, you prevent $month from being interpolated in the doublequotes. The shell then gets $month and tries to expand it - but there is no shell variable named $month.
    لսႽ ᥲᥒ⚪⟊Ⴙᘓᖇ Ꮅᘓᖇ⎱ Ⴙᥲ𝇋ƙᘓᖇ
      Indeed. The backslashes before the pipes are also unnecessary.
      perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://1001835]
Approved by BrowserUk
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (10)
As of 2015-11-30 17:10 GMT
Find Nodes?
    Voting Booth?

    What would be the most significant thing to happen if a rope (or wire) tied the Earth and the Moon together?

    Results (777 votes), past polls