Tried you suggestions, to no avail. Here's all the code, incase something else is causing the problem:
#!/usr/local/bin/perl # this is the code for sever.pl, my mini-server my @lines; open(FILE1, $ARGV[0]); while (<FILE1>) { push(@lines, $_); } ($method, $url, $proto) = split(/ /, $lines[0]); if ($method ne "GET") { if ($method ne "POST") { msg(400); } } if ($proto ne "HTTP/1.0") { msg(400); #here's where sub msg doesn't work } if ($method eq "POST") { open(FILE2, $ARGV[1]); while (<FILE2>) { $ENV{'REQUEST_QUERYSTRING'} = $_; } print "the querystring is: $ENV{'REQUEST_QUERYSTRING'}\n"; @q_string = split (/&/, $ENV{'REQUEST_QUERYSTRING'}); foreach $pair (@q_string) { my @temp = split (/=/, $pair); $param{$temp[0]} = $temp[1]; print "$temp[0] = $param{$temp[0]}\n"; } } %msgs = ("200", "OK", "400", "Bad Request", "403", "Forbidden", "404", + "Not Found", "500", "Internal Server Error"); msg(400); #here's where sub msg works sub msg { $msg_num = @_[0]; $msg_txt = "$msg_num $msgs{$msg_num}"; print "HTTP/1.0 $msg_txt\n"; }
and here's the file I'm passing to server.pl:
> more badreq.txt GET /index.html HTTP/1.1
and here's my output:
> ./server.pl badreq2.txt HTTP/1.0 400 HTTP/1.0 400 Bad Request
What do you think? Thanks!

In reply to Re: calling a sub from an if statement by cburns
in thread calling a sub from an if statement by cburns

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.