Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot

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

Replies are listed 'Best First'.
Re: Using scalar variable in system set of commands
by choroba (Bishop) 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 all is quiet...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (9)
As of 2018-06-22 02:52 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (121 votes). Check out past polls.