Loading ...
Sorry, an error occurred while loading the content.

RE: [PBML] Newbie question

Expand Messages
  • Scot Robnett
    What is the exact format of the file? What have you tried so far? Nobody is going to write the script for you. The group is here to help you figure things out
    Message 1 of 29 , Jun 17, 2009
    • 0 Attachment
      What is the exact format of the file?

      What have you tried so far?

      Nobody is going to write the script for you. The group is here to help
      you figure things out when you get stuck or something isn�t working, but
      you�re supposed to try something first.



      -----Original Message-----
      From: perl-beginner@yahoogroups.com
      [mailto:perl-beginner@yahoogroups.com] On Behalf Of Kevin Patterson
      Sent: Wednesday, June 17, 2009 2:11 PM
      To: perl-beginner@yahoogroups.com
      Subject: [PBML] Newbie question





      Hello..

      I am writing a perl program in windows..

      Here is my problem.

      I have a file containing data such as:

      Apples

      Oranges

      Pears

      Bananas

      Plums

      Apples

      Oranges

      Pears

      bananas

      kiwi

      Apples

      Oranges

      Pears

      bananas

      I write a program to read this file and create a summary report showing

      How many apples:

      How many oranges

      How many Pears

      Can anyone help me??

      thanks

      [Non-text portions of this message have been removed]

      No virus found in this incoming message.
      Checked by AVG - www.avg.com
      Version: 8.5.374 / Virus Database: 270.12.73/2180 - Release Date:
      06/17/09 05:53:00

      No virus found in this outgoing message.
      Checked by AVG - www.avg.com
      Version: 8.5.374 / Virus Database: 270.12.73/2180 - Release Date:
      06/17/09 05:53:00



      [Non-text portions of this message have been removed]
    • Urban Gabor
      Hi, try to have a hash containing the frequencies. IMHO it is not a Perl issue. Get some info on algorithms Gabaux ... Hello.. I am writing a perl program in
      Message 2 of 29 , Jun 17, 2009
      • 0 Attachment
        Hi,

        try to have a hash containing the frequencies.

        IMHO it is not a Perl issue. Get some info on algorithms

        Gabaux

        ---------------------
        Hello..

        I am writing a perl program in windows..

        Here is my problem.

        I have a file containing data such as:

        Apples

        Oranges

        Pears

        Bananas

        Plums

        Apples

        Oranges

        Pears

        bananas

        kiwi

        Apples

        Oranges

        Pears

        bananas

        I write a program to read this file and create a summary report showing

        How many apples:

        How many oranges

        How many Pears

        Can anyone help me??

        thanks

        [Non-text portions of this message have been removed]




        [Non-text portions of this message have been removed]
      • Kevin Patterson
        Sorry... Here is what I wrote: #!/usr/bin/perl #use warnings; #use diagnostics; my $count = 0; my $key_count = 0; $Input_File= crapdata1.txt ; open(INP,
        Message 3 of 29 , Jun 17, 2009
        • 0 Attachment
          Sorry...

          Here is what I wrote:

          #!/usr/bin/perl

          #use warnings;
          #use diagnostics;

          my $count = 0;
          my $key_count = 0;
          $Input_File="crapdata1.txt";
          open(INP, $Input_File);
          @by_jobname=<INP>;
          close(INP);

          foreach $New_Jobname (@by_jobname)
          {
          $em_job = substr($New_Jobname,11,50);
          $em_key = substr($New_Jobname,11,2);

          if ($em_key eq "Apples")
          {
          $count[1] = $count[1] + 1;
          }

          }

          print "$em_key count is: $count[1]\n";

          my $count = 0;
          foreach $New_Jobname (@by_jobname)
          {
          $em_job = substr($New_Jobname,11,50);
          $em_key = substr($New_Jobname,11,2);

          if ($em_key eq "Oranges")
          {
          $count[2] = $count[2] + 1;
          }

          }
          print "$em_key count is: $count[2]\n";
          exit;




          It give me the following results:

          Apple Count is: 2
          Oranges Count is: 1



          Here is the data.

          Apples |Sweet
          Oranges |Seeds
          Apples |Sour



          -----Original Message-----
          From: perl-beginner@yahoogroups.com [mailto:perl-beginner@yahoogroups.com]
          On Behalf Of Scot Robnett
          Sent: Wednesday, June 17, 2009 12:22 PM
          To: perl-beginner@yahoogroups.com
          Subject: RE: [PBML] Newbie question

          What is the exact format of the file?

          What have you tried so far?

          Nobody is going to write the script for you. The group is here to help
          you figure things out when you get stuck or something isn't working, but
          you're supposed to try something first.



          -----Original Message-----
          From: perl-beginner@yahoogroups.com
          [mailto:perl-beginner@yahoogroups.com] On Behalf Of Kevin Patterson
          Sent: Wednesday, June 17, 2009 2:11 PM
          To: perl-beginner@yahoogroups.com
          Subject: [PBML] Newbie question





          Hello..

          I am writing a perl program in windows..

          Here is my problem.

          I have a file containing data such as:

          Apples

          Oranges

          Pears

          Bananas

          Plums

          Apples

          Oranges

          Pears

          bananas

          kiwi

          Apples

          Oranges

          Pears

          bananas

          I write a program to read this file and create a summary report showing

          How many apples:

          How many oranges

          How many Pears

          Can anyone help me??

          thanks

          [Non-text portions of this message have been removed]

          No virus found in this incoming message.
          Checked by AVG - www.avg.com
          Version: 8.5.374 / Virus Database: 270.12.73/2180 - Release Date:
          06/17/09 05:53:00

          No virus found in this outgoing message.
          Checked by AVG - www.avg.com
          Version: 8.5.374 / Virus Database: 270.12.73/2180 - Release Date:
          06/17/09 05:53:00



          [Non-text portions of this message have been removed]



          ------------------------------------

          Unsubscribing info is here:
          http://help.yahoo.com/help/us/groups/groups-32.htmlYahoo! Groups Links
        • Kevin Patterson
          I fixed it. #!/usr/bin/perl #use warnings; #use diagnostics; my $count = 0; @client = qw(apples oranges pears kiwi); $Input_File= crapdata1.txt ; open(INP,
          Message 4 of 29 , Jun 17, 2009
          • 0 Attachment
            I fixed it.





            #!/usr/bin/perl



            #use warnings;

            #use diagnostics;



            my $count = 0;



            @client = qw(apples oranges pears kiwi);



            $Input_File="crapdata1.txt";

            open(INP, $Input_File);

            @by_jobname=<INP>;

            close(INP);



            foreach $Client_Key (@client)

            {

            foreach $New_Jobname (@by_jobname)

            {

            $em_job = substr($New_Jobname,11,50);

            $em_key = substr($New_Jobname,11,2);



            if ($em_key eq $Client_Key)

            {

            $count = $count + 1;

            }



            }

            print "$Client_Key count is: $count\n";

            $count = 0;

            }





            exit;



            From: perl-beginner@yahoogroups.com [mailto:perl-beginner@yahoogroups.com]
            On Behalf Of Kevin Patterson
            Sent: Wednesday, June 17, 2009 1:18 PM
            To: perl-beginner@yahoogroups.com
            Subject: RE: [PBML] Newbie question








            Sorry...

            Here is what I wrote:

            #!/usr/bin/perl

            #use warnings;
            #use diagnostics;

            my $count = 0;
            my $key_count = 0;
            $Input_File="crapdata1.txt";
            open(INP, $Input_File);
            @by_jobname=<INP>;
            close(INP);

            foreach $New_Jobname (@by_jobname)
            {
            $em_job = substr($New_Jobname,11,50);
            $em_key = substr($New_Jobname,11,2);

            if ($em_key eq "Apples")
            {
            $count[1] = $count[1] + 1;
            }

            }

            print "$em_key count is: $count[1]\n";

            my $count = 0;
            foreach $New_Jobname (@by_jobname)
            {
            $em_job = substr($New_Jobname,11,50);
            $em_key = substr($New_Jobname,11,2);

            if ($em_key eq "Oranges")
            {
            $count[2] = $count[2] + 1;
            }

            }
            print "$em_key count is: $count[2]\n";
            exit;

            It give me the following results:

            Apple Count is: 2
            Oranges Count is: 1

            Here is the data.

            Apples |Sweet
            Oranges |Seeds
            Apples |Sour

            -----Original Message-----
            From: perl-beginner@yahoogroups.com <mailto:perl-beginner%40yahoogroups.com>
            [mailto:perl-beginner@yahoogroups.com
            <mailto:perl-beginner%40yahoogroups.com> ]
            On Behalf Of Scot Robnett
            Sent: Wednesday, June 17, 2009 12:22 PM
            To: perl-beginner@yahoogroups.com <mailto:perl-beginner%40yahoogroups.com>
            Subject: RE: [PBML] Newbie question

            What is the exact format of the file?

            What have you tried so far?

            Nobody is going to write the script for you. The group is here to help
            you figure things out when you get stuck or something isn't working, but
            you're supposed to try something first.



            -----Original Message-----
            From: perl-beginner@yahoogroups.com <mailto:perl-beginner%40yahoogroups.com>

            [mailto:perl-beginner@yahoogroups.com
            <mailto:perl-beginner%40yahoogroups.com> ] On Behalf Of Kevin Patterson
            Sent: Wednesday, June 17, 2009 2:11 PM
            To: perl-beginner@yahoogroups.com <mailto:perl-beginner%40yahoogroups.com>
            Subject: [PBML] Newbie question


            Hello..

            I am writing a perl program in windows..

            Here is my problem.

            I have a file containing data such as:

            Apples

            Oranges

            Pears

            Bananas

            Plums

            Apples

            Oranges

            Pears

            bananas

            kiwi

            Apples

            Oranges

            Pears

            bananas

            I write a program to read this file and create a summary report showing

            How many apples:

            How many oranges

            How many Pears

            Can anyone help me??

            thanks

            [Non-text portions of this message have been removed]

            No virus found in this incoming message.
            Checked by AVG - www.avg.com
            Version: 8.5.374 / Virus Database: 270.12.73/2180 - Release Date:
            06/17/09 05:53:00

            No virus found in this outgoing message.
            Checked by AVG - www.avg.com
            Version: 8.5.374 / Virus Database: 270.12.73/2180 - Release Date:
            06/17/09 05:53:00

            [Non-text portions of this message have been removed]

            ------------------------------------

            Unsubscribing info is here:
            http://help.yahoo.com/help/us/groups/groups-32.htmlYahoo! Groups Links





            [Non-text portions of this message have been removed]
          • Jeff Soules
            You ve had prior experience with other programming languages, right? Using substr() this way is a very C or Java way of doing things. Read up on hashes
            Message 5 of 29 , Jun 17, 2009
            • 0 Attachment
              You've had prior experience with other programming languages, right?
              Using substr() this way is a very C or Java way of doing things.

              Read up on hashes ("associative arrays") and the split() function in Perl.

              http://www.tutorialspoint.com/perl/perl_hashes.htm is just one of many
              possible tutorials about hashes.
              http://www.perlmeme.org/howtos/perlfunc/split_function.html seems a
              decent enough split() tutorial.
              I don't claim anything about the quality of these tutorials (I haven't
              actually read them), they just came from the first page of google
              results.

              The idea of a hash is that it's like an array, but you can access the
              individual variables by a text-based key, instead of by a numeric
              index. So, instead of having to cycle through your list once for
              apples, once for oranges, once for pears, etc., and then re-write your
              code when your, err, user decides that the program should also work
              for tangerines, instead you can use a hash where the fruit name is the
              key and the count is the value. So you could access your hash as
              $fruitCount{'Apples'} += 1, say. Or even better,
              $fruitCount{$fruitName} += 1;
              Doing the latter, you could build the entire hash table without ever
              needing to know the types of fruit in advance; and you would
              automatically cover every type of fruit mentioned in the input file.
              The only question would be, "hey, how do I get the fruit name?"
              Well...

              With the split() function, you can divide your input lines logically,
              instead of by using substr() and hoping that all fruits have the same
              number of characters. split() lets you break a string apart according
              to a delimiter character. In the case of your example here, you have
              the name of a fruit, followed by a pipe |. So that | would be the
              delimiting character; what you really want is the fruit name that
              comes in front of it. If you split each line along the |, then you
              can store the first chunk as the fruit name, and throw away the second
              part (since, at least so far, you don't really care what the rest of
              the line says).

              Once you've built up your hash, you'll want to dump its contents. For
              this, you'll need the keys() function, which you'll no doubt find
              plenty of information about online.

              One of the Perl mottoes is "There's More Than One Way to Do It"
              (TMTOWDI) and the solution I'm hinting you at here is just one of many
              possible ones (that's what makes Perl fun!) But hopefully this will
              set you on the way to finding one of the many solutions.

              Do check back!


              On Wed, Jun 17, 2009 at 4:17 PM, Kevin Patterson<kpatters@...> wrote:
              >
              >
              > Sorry...
              >
              > Here is what I wrote:
              >
              > #!/usr/bin/perl
              >
              > #use warnings;
              > #use diagnostics;
              >
              > my $count = 0;
              > my $key_count = 0;
              > $Input_File="crapdata1.txt";
              > open(INP, $Input_File);
              > @by_jobname=<INP>;
              > close(INP);
              >
              > foreach $New_Jobname (@by_jobname)
              > {
              > $em_job = substr($New_Jobname,11,50);
              > $em_key = substr($New_Jobname,11,2);
              >
              > if ($em_key eq "Apples")
              > {
              > $count[1] = $count[1] + 1;
              > }
              >
              > }
              >
              > print "$em_key count is: $count[1]\n";
              >
              > my $count = 0;
              > foreach $New_Jobname (@by_jobname)
              > {
              > $em_job = substr($New_Jobname,11,50);
              > $em_key = substr($New_Jobname,11,2);
              >
              > if ($em_key eq "Oranges")
              > {
              > $count[2] = $count[2] + 1;
              > }
              >
              > }
              > print "$em_key count is: $count[2]\n";
              > exit;
              >
              > It give me the following results:
              >
              > Apple Count is: 2
              > Oranges Count is: 1
              >
              > Here is the data.
              >
              > Apples |Sweet
              > Oranges |Seeds
              > Apples |Sour
              >
              > -----Original Message-----
              > From: perl-beginner@yahoogroups.com [mailto:perl-beginner@yahoogroups.com]
              > On Behalf Of Scot Robnett
              > Sent: Wednesday, June 17, 2009 12:22 PM
              > To: perl-beginner@yahoogroups.com
              > Subject: RE: [PBML] Newbie question
              >
              > What is the exact format of the file?
              >
              > What have you tried so far?
              >
              > Nobody is going to write the script for you. The group is here to help
              > you figure things out when you get stuck or something isn't working, but
              > you're supposed to try something first.
              >
              >
              >
              > -----Original Message-----
              > From: perl-beginner@yahoogroups.com
              > [mailto:perl-beginner@yahoogroups.com] On Behalf Of Kevin Patterson
              > Sent: Wednesday, June 17, 2009 2:11 PM
              > To: perl-beginner@yahoogroups.com
              > Subject: [PBML] Newbie question
              >
              >
              > Hello..
              >
              > I am writing a perl program in windows..
              >
              > Here is my problem.
              >
              > I have a file containing data such as:
              >
              > Apples
              >
              > Oranges
              >
              > Pears
              >
              > Bananas
              >
              > Plums
              >
              > Apples
              >
              > Oranges
              >
              > Pears
              >
              > bananas
              >
              > kiwi
              >
              > Apples
              >
              > Oranges
              >
              > Pears
              >
              > bananas
              >
              > I write a program to read this file and create a summary report showing
              >
              > How many apples:
              >
              > How many oranges
              >
              > How many Pears
              >
              > Can anyone help me??
              >
              > thanks
              >
              > [Non-text portions of this message have been removed]
              >
              > No virus found in this incoming message.
              > Checked by AVG - www.avg.com
              > Version: 8.5.374 / Virus Database: 270.12.73/2180 - Release Date:
              > 06/17/09 05:53:00
              >
              > No virus found in this outgoing message.
              > Checked by AVG - www.avg.com
              > Version: 8.5.374 / Virus Database: 270.12.73/2180 - Release Date:
              > 06/17/09 05:53:00
              >
              > [Non-text portions of this message have been removed]
              >
              > ------------------------------------
              >
              > Unsubscribing info is here:
              > http://help.yahoo.com/help/us/groups/groups-32.htmlYahoo! Groups Links
              >
              >
            • Kevin Patterson
              Thanks. I am reading on hashes now and practicing on how to use them. I have not taken any perl classes.. I just started reading the books. From:
              Message 6 of 29 , Jun 17, 2009
              • 0 Attachment
                Thanks.



                I am reading on hashes now and practicing on how to use them. I have not
                taken any perl classes..



                I just started reading the books.



                From: perl-beginner@yahoogroups.com [mailto:perl-beginner@yahoogroups.com]
                On Behalf Of Jeff Soules
                Sent: Wednesday, June 17, 2009 1:46 PM
                To: perl-beginner@yahoogroups.com
                Subject: Re: [PBML] Newbie question








                You've had prior experience with other programming languages, right?
                Using substr() this way is a very C or Java way of doing things.

                Read up on hashes ("associative arrays") and the split() function in Perl.

                http://www.tutorialspoint.com/perl/perl_hashes.htm is just one of many
                possible tutorials about hashes.
                http://www.perlmeme.org/howtos/perlfunc/split_function.html seems a
                decent enough split() tutorial.
                I don't claim anything about the quality of these tutorials (I haven't
                actually read them), they just came from the first page of google
                results.

                The idea of a hash is that it's like an array, but you can access the
                individual variables by a text-based key, instead of by a numeric
                index. So, instead of having to cycle through your list once for
                apples, once for oranges, once for pears, etc., and then re-write your
                code when your, err, user decides that the program should also work
                for tangerines, instead you can use a hash where the fruit name is the
                key and the count is the value. So you could access your hash as
                $fruitCount{'Apples'} += 1, say. Or even better,
                $fruitCount{$fruitName} += 1;
                Doing the latter, you could build the entire hash table without ever
                needing to know the types of fruit in advance; and you would
                automatically cover every type of fruit mentioned in the input file.
                The only question would be, "hey, how do I get the fruit name?"
                Well...

                With the split() function, you can divide your input lines logically,
                instead of by using substr() and hoping that all fruits have the same
                number of characters. split() lets you break a string apart according
                to a delimiter character. In the case of your example here, you have
                the name of a fruit, followed by a pipe |. So that | would be the
                delimiting character; what you really want is the fruit name that
                comes in front of it. If you split each line along the |, then you
                can store the first chunk as the fruit name, and throw away the second
                part (since, at least so far, you don't really care what the rest of
                the line says).

                Once you've built up your hash, you'll want to dump its contents. For
                this, you'll need the keys() function, which you'll no doubt find
                plenty of information about online.

                One of the Perl mottoes is "There's More Than One Way to Do It"
                (TMTOWDI) and the solution I'm hinting you at here is just one of many
                possible ones (that's what makes Perl fun!) But hopefully this will
                set you on the way to finding one of the many solutions.

                Do check back!

                On Wed, Jun 17, 2009 at 4:17 PM, Kevin Patterson<kpatters@...
                <mailto:kpatters%40berkeley.edu> > wrote:
                >
                >
                > Sorry...
                >
                > Here is what I wrote:
                >
                > #!/usr/bin/perl
                >
                > #use warnings;
                > #use diagnostics;
                >
                > my $count = 0;
                > my $key_count = 0;
                > $Input_File="crapdata1.txt";
                > open(INP, $Input_File);
                > @by_jobname=<INP>;
                > close(INP);
                >
                > foreach $New_Jobname (@by_jobname)
                > {
                > $em_job = substr($New_Jobname,11,50);
                > $em_key = substr($New_Jobname,11,2);
                >
                > if ($em_key eq "Apples")
                > {
                > $count[1] = $count[1] + 1;
                > }
                >
                > }
                >
                > print "$em_key count is: $count[1]\n";
                >
                > my $count = 0;
                > foreach $New_Jobname (@by_jobname)
                > {
                > $em_job = substr($New_Jobname,11,50);
                > $em_key = substr($New_Jobname,11,2);
                >
                > if ($em_key eq "Oranges")
                > {
                > $count[2] = $count[2] + 1;
                > }
                >
                > }
                > print "$em_key count is: $count[2]\n";
                > exit;
                >
                > It give me the following results:
                >
                > Apple Count is: 2
                > Oranges Count is: 1
                >
                > Here is the data.
                >
                > Apples |Sweet
                > Oranges |Seeds
                > Apples |Sour
                >
                > -----Original Message-----
                > From: perl-beginner@yahoogroups.com
                <mailto:perl-beginner%40yahoogroups.com>
                [mailto:perl-beginner@yahoogroups.com
                <mailto:perl-beginner%40yahoogroups.com> ]
                > On Behalf Of Scot Robnett
                > Sent: Wednesday, June 17, 2009 12:22 PM
                > To: perl-beginner@yahoogroups.com <mailto:perl-beginner%40yahoogroups.com>

                > Subject: RE: [PBML] Newbie question
                >
                > What is the exact format of the file?
                >
                > What have you tried so far?
                >
                > Nobody is going to write the script for you. The group is here to help
                > you figure things out when you get stuck or something isn't working, but
                > you're supposed to try something first.
                >
                >
                >
                > -----Original Message-----
                > From: perl-beginner@yahoogroups.com
                <mailto:perl-beginner%40yahoogroups.com>
                > [mailto:perl-beginner@yahoogroups.com
                <mailto:perl-beginner%40yahoogroups.com> ] On Behalf Of Kevin Patterson
                > Sent: Wednesday, June 17, 2009 2:11 PM
                > To: perl-beginner@yahoogroups.com <mailto:perl-beginner%40yahoogroups.com>

                > Subject: [PBML] Newbie question
                >
                >
                > Hello..
                >
                > I am writing a perl program in windows..
                >
                > Here is my problem.
                >
                > I have a file containing data such as:
                >
                > Apples
                >
                > Oranges
                >
                > Pears
                >
                > Bananas
                >
                > Plums
                >
                > Apples
                >
                > Oranges
                >
                > Pears
                >
                > bananas
                >
                > kiwi
                >
                > Apples
                >
                > Oranges
                >
                > Pears
                >
                > bananas
                >
                > I write a program to read this file and create a summary report showing
                >
                > How many apples:
                >
                > How many oranges
                >
                > How many Pears
                >
                > Can anyone help me??
                >
                > thanks
                >
                > [Non-text portions of this message have been removed]
                >
                > No virus found in this incoming message.
                > Checked by AVG - www.avg.com
                > Version: 8.5.374 / Virus Database: 270.12.73/2180 - Release Date:
                > 06/17/09 05:53:00
                >
                > No virus found in this outgoing message.
                > Checked by AVG - www.avg.com
                > Version: 8.5.374 / Virus Database: 270.12.73/2180 - Release Date:
                > 06/17/09 05:53:00
                >
                > [Non-text portions of this message have been removed]
                >
                > ------------------------------------
                >
                > Unsubscribing info is here:
                > http://help.yahoo.com/help/us/groups/groups-32.htmlYahoo! Groups Links
                >
                >





                [Non-text portions of this message have been removed]
              • Jeff Soules
                ... If you re learning from books, I cannot recommend _Learning_Perl_ highly enough. It s got a very intelligent presentation order, tons of useful example
                Message 7 of 29 , Jun 17, 2009
                • 0 Attachment
                  > I am reading on hashes now and practicing on how to use them. I have not
                  > taken any perl classes..
                  >
                  > I just started reading the books.

                  If you're learning from books, I cannot recommend _Learning_Perl_
                  highly enough. It's got a very intelligent presentation order, tons
                  of useful example exercises, and even an engaging body text.

                  Good luck.

                  On Wed, Jun 17, 2009 at 4:50 PM, Kevin Patterson<kpatters@...> wrote:
                  >
                  >
                  > Thanks.
                  >
                  > I am reading on hashes now and practicing on how to use them. I have not
                  > taken any perl classes..
                  >
                  > I just started reading the books.
                  >
                  > From: perl-beginner@yahoogroups.com [mailto:perl-beginner@yahoogroups.com]
                  > On Behalf Of Jeff Soules
                  > Sent: Wednesday, June 17, 2009 1:46 PM
                  > To: perl-beginner@yahoogroups.com
                  > Subject: Re: [PBML] Newbie question
                  >
                  > You've had prior experience with other programming languages, right?
                  > Using substr() this way is a very C or Java way of doing things.
                  >
                  > Read up on hashes ("associative arrays") and the split() function in Perl.
                  >
                  > http://www.tutorialspoint.com/perl/perl_hashes.htm is just one of many
                  > possible tutorials about hashes.
                  > http://www.perlmeme.org/howtos/perlfunc/split_function.html seems a
                  > decent enough split() tutorial.
                  > I don't claim anything about the quality of these tutorials (I haven't
                  > actually read them), they just came from the first page of google
                  > results.
                  >
                  > The idea of a hash is that it's like an array, but you can access the
                  > individual variables by a text-based key, instead of by a numeric
                  > index. So, instead of having to cycle through your list once for
                  > apples, once for oranges, once for pears, etc., and then re-write your
                  > code when your, err, user decides that the program should also work
                  > for tangerines, instead you can use a hash where the fruit name is the
                  > key and the count is the value. So you could access your hash as
                  > $fruitCount{'Apples'} += 1, say. Or even better,
                  > $fruitCount{$fruitName} += 1;
                  > Doing the latter, you could build the entire hash table without ever
                  > needing to know the types of fruit in advance; and you would
                  > automatically cover every type of fruit mentioned in the input file.
                  > The only question would be, "hey, how do I get the fruit name?"
                  > Well...
                  >
                  > With the split() function, you can divide your input lines logically,
                  > instead of by using substr() and hoping that all fruits have the same
                  > number of characters. split() lets you break a string apart according
                  > to a delimiter character. In the case of your example here, you have
                  > the name of a fruit, followed by a pipe |. So that | would be the
                  > delimiting character; what you really want is the fruit name that
                  > comes in front of it. If you split each line along the |, then you
                  > can store the first chunk as the fruit name, and throw away the second
                  > part (since, at least so far, you don't really care what the rest of
                  > the line says).
                  >
                  > Once you've built up your hash, you'll want to dump its contents. For
                  > this, you'll need the keys() function, which you'll no doubt find
                  > plenty of information about online.
                  >
                  > One of the Perl mottoes is "There's More Than One Way to Do It"
                  > (TMTOWDI) and the solution I'm hinting you at here is just one of many
                  > possible ones (that's what makes Perl fun!) But hopefully this will
                  > set you on the way to finding one of the many solutions.
                  >
                  > Do check back!
                  >
                  > On Wed, Jun 17, 2009 at 4:17 PM, Kevin Patterson<kpatters@...
                  > <mailto:kpatters%40berkeley.edu> > wrote:
                  >>
                  >>
                  >> Sorry...
                  >>
                  >> Here is what I wrote:
                  >>
                  >> #!/usr/bin/perl
                  >>
                  >> #use warnings;
                  >> #use diagnostics;
                  >>
                  >> my $count = 0;
                  >> my $key_count = 0;
                  >> $Input_File="crapdata1.txt";
                  >> open(INP, $Input_File);
                  >> @by_jobname=<INP>;
                  >> close(INP);
                  >>
                  >> foreach $New_Jobname (@by_jobname)
                  >> {
                  >> $em_job = substr($New_Jobname,11,50);
                  >> $em_key = substr($New_Jobname,11,2);
                  >>
                  >> if ($em_key eq "Apples")
                  >> {
                  >> $count[1] = $count[1] + 1;
                  >> }
                  >>
                  >> }
                  >>
                  >> print "$em_key count is: $count[1]\n";
                  >>
                  >> my $count = 0;
                  >> foreach $New_Jobname (@by_jobname)
                  >> {
                  >> $em_job = substr($New_Jobname,11,50);
                  >> $em_key = substr($New_Jobname,11,2);
                  >>
                  >> if ($em_key eq "Oranges")
                  >> {
                  >> $count[2] = $count[2] + 1;
                  >> }
                  >>
                  >> }
                  >> print "$em_key count is: $count[2]\n";
                  >> exit;
                  >>
                  >> It give me the following results:
                  >>
                  >> Apple Count is: 2
                  >> Oranges Count is: 1
                  >>
                  >> Here is the data.
                  >>
                  >> Apples |Sweet
                  >> Oranges |Seeds
                  >> Apples |Sour
                  >>
                  >> -----Original Message-----
                  >> From: perl-beginner@yahoogroups.com
                  > <mailto:perl-beginner%40yahoogroups.com>
                  > [mailto:perl-beginner@yahoogroups.com
                  > <mailto:perl-beginner%40yahoogroups.com> ]
                  >> On Behalf Of Scot Robnett
                  >> Sent: Wednesday, June 17, 2009 12:22 PM
                  >> To: perl-beginner@yahoogroups.com <mailto:perl-beginner%40yahoogroups.com>
                  >
                  >> Subject: RE: [PBML] Newbie question
                  >>
                  >> What is the exact format of the file?
                  >>
                  >> What have you tried so far?
                  >>
                  >> Nobody is going to write the script for you. The group is here to help
                  >> you figure things out when you get stuck or something isn't working, but
                  >> you're supposed to try something first.
                  >>
                  >>
                  >>
                  >> -----Original Message-----
                  >> From: perl-beginner@yahoogroups.com
                  > <mailto:perl-beginner%40yahoogroups.com>
                  >> [mailto:perl-beginner@yahoogroups.com
                  > <mailto:perl-beginner%40yahoogroups.com> ] On Behalf Of Kevin Patterson
                  >> Sent: Wednesday, June 17, 2009 2:11 PM
                  >> To: perl-beginner@yahoogroups.com <mailto:perl-beginner%40yahoogroups.com>
                  >
                  >> Subject: [PBML] Newbie question
                  >>
                  >>
                  >> Hello..
                  >>
                  >> I am writing a perl program in windows..
                  >>
                  >> Here is my problem.
                  >>
                  >> I have a file containing data such as:
                  >>
                  >> Apples
                  >>
                  >> Oranges
                  >>
                  >> Pears
                  >>
                  >> Bananas
                  >>
                  >> Plums
                  >>
                  >> Apples
                  >>
                  >> Oranges
                  >>
                  >> Pears
                  >>
                  >> bananas
                  >>
                  >> kiwi
                  >>
                  >> Apples
                  >>
                  >> Oranges
                  >>
                  >> Pears
                  >>
                  >> bananas
                  >>
                  >> I write a program to read this file and create a summary report showing
                  >>
                  >> How many apples:
                  >>
                  >> How many oranges
                  >>
                  >> How many Pears
                  >>
                  >> Can anyone help me??
                  >>
                  >> thanks
                  >>
                  >> [Non-text portions of this message have been removed]
                  >>
                  >> No virus found in this incoming message.
                  >> Checked by AVG - www.avg.com
                  >> Version: 8.5.374 / Virus Database: 270.12.73/2180 - Release Date:
                  >> 06/17/09 05:53:00
                  >>
                  >> No virus found in this outgoing message.
                  >> Checked by AVG - www.avg.com
                  >> Version: 8.5.374 / Virus Database: 270.12.73/2180 - Release Date:
                  >> 06/17/09 05:53:00
                  >>
                  >> [Non-text portions of this message have been removed]
                  >>
                  >> ------------------------------------
                  >>
                  >> Unsubscribing info is here:
                  >> http://help.yahoo.com/help/us/groups/groups-32.htmlYahoo! Groups Links
                  >>
                  >>
                  >
                  > [Non-text portions of this message have been removed]
                  >
                  >
                • Kevin Patterson
                  Thanks. I have it on order and reading it online now.. From: perl-beginner@yahoogroups.com [mailto:perl-beginner@yahoogroups.com] On Behalf Of Jeff Soules
                  Message 8 of 29 , Jun 17, 2009
                  • 0 Attachment
                    Thanks.



                    I have it on order and reading it online now..



                    From: perl-beginner@yahoogroups.com [mailto:perl-beginner@yahoogroups.com]
                    On Behalf Of Jeff Soules
                    Sent: Wednesday, June 17, 2009 1:53 PM
                    To: perl-beginner@yahoogroups.com
                    Subject: Re: [PBML] Newbie question








                    > I am reading on hashes now and practicing on how to use them. I have not
                    > taken any perl classes..
                    >
                    > I just started reading the books.

                    If you're learning from books, I cannot recommend _Learning_Perl_
                    highly enough. It's got a very intelligent presentation order, tons
                    of useful example exercises, and even an engaging body text.

                    Good luck.

                    On Wed, Jun 17, 2009 at 4:50 PM, Kevin Patterson<kpatters@...
                    <mailto:kpatters%40berkeley.edu> > wrote:
                    >
                    >
                    > Thanks.
                    >
                    > I am reading on hashes now and practicing on how to use them. I have not
                    > taken any perl classes..
                    >
                    > I just started reading the books.
                    >
                    > From: perl-beginner@yahoogroups.com
                    <mailto:perl-beginner%40yahoogroups.com>
                    [mailto:perl-beginner@yahoogroups.com
                    <mailto:perl-beginner%40yahoogroups.com> ]
                    > On Behalf Of Jeff Soules
                    > Sent: Wednesday, June 17, 2009 1:46 PM
                    > To: perl-beginner@yahoogroups.com <mailto:perl-beginner%40yahoogroups.com>

                    > Subject: Re: [PBML] Newbie question
                    >
                    > You've had prior experience with other programming languages, right?
                    > Using substr() this way is a very C or Java way of doing things.
                    >
                    > Read up on hashes ("associative arrays") and the split() function in Perl.
                    >
                    > http://www.tutorialspoint.com/perl/perl_hashes.htm is just one of many
                    > possible tutorials about hashes.
                    > http://www.perlmeme.org/howtos/perlfunc/split_function.html seems a
                    > decent enough split() tutorial.
                    > I don't claim anything about the quality of these tutorials (I haven't
                    > actually read them), they just came from the first page of google
                    > results.
                    >
                    > The idea of a hash is that it's like an array, but you can access the
                    > individual variables by a text-based key, instead of by a numeric
                    > index. So, instead of having to cycle through your list once for
                    > apples, once for oranges, once for pears, etc., and then re-write your
                    > code when your, err, user decides that the program should also work
                    > for tangerines, instead you can use a hash where the fruit name is the
                    > key and the count is the value. So you could access your hash as
                    > $fruitCount{'Apples'} += 1, say. Or even better,
                    > $fruitCount{$fruitName} += 1;
                    > Doing the latter, you could build the entire hash table without ever
                    > needing to know the types of fruit in advance; and you would
                    > automatically cover every type of fruit mentioned in the input file.
                    > The only question would be, "hey, how do I get the fruit name?"
                    > Well...
                    >
                    > With the split() function, you can divide your input lines logically,
                    > instead of by using substr() and hoping that all fruits have the same
                    > number of characters. split() lets you break a string apart according
                    > to a delimiter character. In the case of your example here, you have
                    > the name of a fruit, followed by a pipe |. So that | would be the
                    > delimiting character; what you really want is the fruit name that
                    > comes in front of it. If you split each line along the |, then you
                    > can store the first chunk as the fruit name, and throw away the second
                    > part (since, at least so far, you don't really care what the rest of
                    > the line says).
                    >
                    > Once you've built up your hash, you'll want to dump its contents. For
                    > this, you'll need the keys() function, which you'll no doubt find
                    > plenty of information about online.
                    >
                    > One of the Perl mottoes is "There's More Than One Way to Do It"
                    > (TMTOWDI) and the solution I'm hinting you at here is just one of many
                    > possible ones (that's what makes Perl fun!) But hopefully this will
                    > set you on the way to finding one of the many solutions.
                    >
                    > Do check back!
                    >
                    > On Wed, Jun 17, 2009 at 4:17 PM, Kevin Patterson<kpatters@...
                    <mailto:kpatters%40berkeley.edu>
                    > <mailto:kpatters%40berkeley.edu> > wrote:
                    >>
                    >>
                    >> Sorry...
                    >>
                    >> Here is what I wrote:
                    >>
                    >> #!/usr/bin/perl
                    >>
                    >> #use warnings;
                    >> #use diagnostics;
                    >>
                    >> my $count = 0;
                    >> my $key_count = 0;
                    >> $Input_File="crapdata1.txt";
                    >> open(INP, $Input_File);
                    >> @by_jobname=<INP>;
                    >> close(INP);
                    >>
                    >> foreach $New_Jobname (@by_jobname)
                    >> {
                    >> $em_job = substr($New_Jobname,11,50);
                    >> $em_key = substr($New_Jobname,11,2);
                    >>
                    >> if ($em_key eq "Apples")
                    >> {
                    >> $count[1] = $count[1] + 1;
                    >> }
                    >>
                    >> }
                    >>
                    >> print "$em_key count is: $count[1]\n";
                    >>
                    >> my $count = 0;
                    >> foreach $New_Jobname (@by_jobname)
                    >> {
                    >> $em_job = substr($New_Jobname,11,50);
                    >> $em_key = substr($New_Jobname,11,2);
                    >>
                    >> if ($em_key eq "Oranges")
                    >> {
                    >> $count[2] = $count[2] + 1;
                    >> }
                    >>
                    >> }
                    >> print "$em_key count is: $count[2]\n";
                    >> exit;
                    >>
                    >> It give me the following results:
                    >>
                    >> Apple Count is: 2
                    >> Oranges Count is: 1
                    >>
                    >> Here is the data.
                    >>
                    >> Apples |Sweet
                    >> Oranges |Seeds
                    >> Apples |Sour
                    >>
                    >> -----Original Message-----
                    >> From: perl-beginner@yahoogroups.com
                    <mailto:perl-beginner%40yahoogroups.com>
                    > <mailto:perl-beginner%40yahoogroups.com>
                    > [mailto:perl-beginner@yahoogroups.com
                    <mailto:perl-beginner%40yahoogroups.com>
                    > <mailto:perl-beginner%40yahoogroups.com> ]
                    >> On Behalf Of Scot Robnett
                    >> Sent: Wednesday, June 17, 2009 12:22 PM
                    >> To: perl-beginner@yahoogroups.com
                    <mailto:perl-beginner%40yahoogroups.com>
                    <mailto:perl-beginner%40yahoogroups.com>
                    >
                    >> Subject: RE: [PBML] Newbie question
                    >>
                    >> What is the exact format of the file?
                    >>
                    >> What have you tried so far?
                    >>
                    >> Nobody is going to write the script for you. The group is here to help
                    >> you figure things out when you get stuck or something isn't working, but
                    >> you're supposed to try something first.
                    >>
                    >>
                    >>
                    >> -----Original Message-----
                    >> From: perl-beginner@yahoogroups.com
                    <mailto:perl-beginner%40yahoogroups.com>
                    > <mailto:perl-beginner%40yahoogroups.com>
                    >> [mailto:perl-beginner@yahoogroups.com
                    <mailto:perl-beginner%40yahoogroups.com>
                    > <mailto:perl-beginner%40yahoogroups.com> ] On Behalf Of Kevin Patterson
                    >> Sent: Wednesday, June 17, 2009 2:11 PM
                    >> To: perl-beginner@yahoogroups.com
                    <mailto:perl-beginner%40yahoogroups.com>
                    <mailto:perl-beginner%40yahoogroups.com>
                    >
                    >> Subject: [PBML] Newbie question
                    >>
                    >>
                    >> Hello..
                    >>
                    >> I am writing a perl program in windows..
                    >>
                    >> Here is my problem.
                    >>
                    >> I have a file containing data such as:
                    >>
                    >> Apples
                    >>
                    >> Oranges
                    >>
                    >> Pears
                    >>
                    >> Bananas
                    >>
                    >> Plums
                    >>
                    >> Apples
                    >>
                    >> Oranges
                    >>
                    >> Pears
                    >>
                    >> bananas
                    >>
                    >> kiwi
                    >>
                    >> Apples
                    >>
                    >> Oranges
                    >>
                    >> Pears
                    >>
                    >> bananas
                    >>
                    >> I write a program to read this file and create a summary report showing
                    >>
                    >> How many apples:
                    >>
                    >> How many oranges
                    >>
                    >> How many Pears
                    >>
                    >> Can anyone help me??
                    >>
                    >> thanks
                    >>
                    >> [Non-text portions of this message have been removed]
                    >>
                    >> No virus found in this incoming message.
                    >> Checked by AVG - www.avg.com
                    >> Version: 8.5.374 / Virus Database: 270.12.73/2180 - Release Date:
                    >> 06/17/09 05:53:00
                    >>
                    >> No virus found in this outgoing message.
                    >> Checked by AVG - www.avg.com
                    >> Version: 8.5.374 / Virus Database: 270.12.73/2180 - Release Date:
                    >> 06/17/09 05:53:00
                    >>
                    >> [Non-text portions of this message have been removed]
                    >>
                    >> ------------------------------------
                    >>
                    >> Unsubscribing info is here:
                    >> http://help.yahoo.com/help/us/groups/groups-32.htmlYahoo! Groups Links
                    >>
                    >>
                    >
                    > [Non-text portions of this message have been removed]
                    >
                    >





                    [Non-text portions of this message have been removed]
                  • Kevin Patterson
                    Ok. Im stuck again. I need to sort this input file below before my code.. Cant someone help me with this?? ...
                    Message 9 of 29 , Jun 17, 2009
                    • 0 Attachment
                      Ok.



                      Im stuck again.



                      I need to sort this input file below before my code..

                      Cant someone help me with this??



                      >> #!/usr/bin/perl
                      >>
                      >> #use warnings;
                      >> #use diagnostics;
                      >>
                      >> my $count = 0;
                      >> my $key_count = 0;
                      >> $Input_File="crapdata1.txt";
                      >> open(INP, $Input_File);
                      >> @by_jobname=<INP>;
                      >> close(INP);
                      >>
                      >> foreach $New_Jobname (@by_jobname)
                      >> {
                      >> $em_job = substr($New_Jobname,11,50);
                      >> $em_key = substr($New_Jobname,11,2);
                      >>
                      >> if ($em_key eq "Apples")
                      >> {
                      >> $count[1] = $count[1] + 1;
                      >> }
                      >>
                      >> }
                      >>
                      >> print "$em_key count is: $count[1]\n";
                      >>
                      >> my $count = 0;
                      >> foreach $New_Jobname (@by_jobname)
                      >> {
                      >> $em_job = substr($New_Jobname,11,50);
                      >> $em_key = substr($New_Jobname,11,2);
                      >>
                      >> if ($em_key eq "Oranges")
                      >> {
                      >> $count[2] = $count[2] + 1;
                      >> }
                      >>
                      >> }
                      >> print "$em_key count is: $count[2]\n";
                      >> exit;
                      >>
                      >> It give me the following results:
                      >>
                      >> Apple Count is: 2
                      >> Oranges Count is: 1
                      >>
                      >> Here is the data.
                      >>
                      >> Apples |Sweet
                      >> Oranges |Seeds
                      >> Apples |Sour
                      >>
                      >> -----Original Message-----
                      >> From: perl-beginner@yahoogroups.com
                      <mailto:perl-beginner%40yahoogroups.com>
                      <mailto:perl-beginner%40yahoogroups.com>
                      > <mailto:perl-beginner%40yahoogroups.com>
                      > [mailto:perl-beginner@yahoogroups.com
                      <mailto:perl-beginner%40yahoogroups.com>
                      <mailto:perl-beginner%40yahoogroups.com>
                      > <mailto:perl-beginner%40yahoogroups.com> ]
                      >> On Behalf Of Scot Robnett
                      >> Sent: Wednesday, June 17, 2009 12:22 PM
                      >> To: perl-beginner@yahoogroups.com
                      <mailto:perl-beginner%40yahoogroups.com>
                      <mailto:perl-beginner%40yahoogroups.com>
                      <mailto:perl-beginner%40yahoogroups.com>
                      >
                      >> Subject: RE: [PBML] Newbie question
                      >>
                      >> What is the exact format of the file?
                      >>
                      >> What have you tried so far?
                      >>
                      >> Nobody is going to write the script for you. The group is here to help
                      >> you figure things out when you get stuck or something isn't working, but
                      >> you're supposed to try something first.
                      >>
                      >>
                      >>
                      >> -----Original Message-----
                      >> From: perl-beginner@yahoogroups.com
                      <mailto:perl-beginner%40yahoogroups.com>
                      <mailto:perl-beginner%40yahoogroups.com>
                      > <mailto:perl-beginner%40yahoogroups.com>
                      >> [mailto:perl-beginner@yahoogroups.com
                      <mailto:perl-beginner%40yahoogroups.com>
                      <mailto:perl-beginner%40yahoogroups.com>
                      > <mailto:perl-beginner%40yahoogroups.com> ] On Behalf Of Kevin Patterson
                      >> Sent: Wednesday, June 17, 2009 2:11 PM
                      >> To: perl-beginner@yahoogroups.com
                      <mailto:perl-beginner%40yahoogroups.com>
                      <mailto:perl-beginner%40yahoogroups.com>
                      <mailto:perl-beginner%40yahoogroups.com>
                      >
                      >> Subject: [PBML] Newbie question
                      >>
                      >>
                      >> Hello..
                      >>
                      >> I am writing a perl program in windows..
                      >>
                      >> Here is my problem.
                      >>
                      >> I have a file containing data such as:
                      >>
                      >> Apples
                      >>
                      >> Oranges
                      >>
                      >> Pears
                      >>
                      >> Bananas
                      >>
                      >> Plums
                      >>
                      >> Apples
                      >>
                      >> Oranges
                      >>
                      >> Pears
                      >>
                      >> bananas
                      >>
                      >> kiwi
                      >>
                      >> Apples
                      >>
                      >> Oranges
                      >>
                      >> Pears
                      >>
                      >> bananas
                      >>
                      >> I write a program to read this file and create a summary report showing
                      >>
                      >> How many apples:
                      >>
                      >> How many oranges
                      >>
                      >> How many Pears
                      >>
                      >> Can anyone help me??
                      >>
                      >> thanks
                      >>
                      >> [Non-text portions of this message have been removed]
                      >>
                      >> No virus found in this incoming message.
                      >> Checked by AVG - www.avg.com
                      >> Version: 8.5.374 / Virus Database: 270.12.73/2180 - Release Date:
                      >> 06/17/09 05:53:00
                      >>
                      >> No virus found in this outgoing message.
                      >> Checked by AVG - www.avg.com
                      >> Version: 8.5.374 / Virus Database: 270.12.73/2180 - Release Date:
                      >> 06/17/09 05:53:00
                      >>
                      >> [Non-text portions of this message have been removed]
                      >>
                      >> ------------------------------------
                      >>
                      >> Unsubscribing info is here:
                      >> http://help.yahoo.com/help/us/groups/groups-32.htmlYahoo! Groups Links
                      >>
                      >>
                      >
                      > [Non-text portions of this message have been removed]
                      >
                      >

                      [Non-text portions of this message have been removed]





                      [Non-text portions of this message have been removed]
                    • merlyn@stonehenge.com
                      ... Kevin I have it on order and reading it online now.. I hope by reading it online you mean you have a safari.oreilly.com account (or access to it through
                      Message 10 of 29 , Jun 17, 2009
                      • 0 Attachment
                        >>>>> "Kevin" == Kevin Patterson <kpatters@...> writes:

                        Kevin> I have it on order and reading it online now..

                        I hope by "reading it online" you mean you have a safari.oreilly.com account
                        (or access to it through some organization), and not that you have obtained an
                        *ILLEGAL* copy from a pirate source.

                        There are no *LEGAL* unrestricted copies of Learning Perl on the net.
                        Period. If you find one, please report it to infringement@....

                        Thanks.

                        --
                        Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
                        <merlyn@...> <URL:http://www.stonehenge.com/merlyn/>
                        Smalltalk/Perl/Unix consulting, Technical writing, Comedy, etc. etc.
                        See http://methodsandmessages.vox.com/ for Smalltalk and Seaside discussion
                      • Jeff Soules
                        In a Unix environment, the easiest way to sort the file would be to use the sort utility on the file. But you said you re running in Windows. So, since your
                        Message 11 of 29 , Jun 18, 2009
                        • 0 Attachment
                          In a Unix environment, the easiest way to sort the file would be to
                          use the sort utility on the file. But you said you're running in
                          Windows. So, since your code was loading the entire file into an
                          array (one line per array element) before processing it, you could
                          then sort that array using Perl's sort() function. This would put the
                          lines in alphabetical order.

                          However, per the problem description that you've posted and the
                          hash-based solution which people have pointed you towards, the line
                          order in the file shouldn't be a problem. Has your problem situation
                          changed?

                          On Wed, Jun 17, 2009 at 6:07 PM, Kevin Patterson<kpatters@...> wrote:
                          >
                          >
                          > Ok.
                          >
                          > Im stuck again.
                          >
                          > I need to sort this input file below before my code..
                          >
                          > Cant someone help me with this??
                          >
                          >>> #!/usr/bin/perl
                          >>>
                          >>> #use warnings;
                          >>> #use diagnostics;
                          >>>
                          >>> my $count = 0;
                          >>> my $key_count = 0;
                          >>> $Input_File="crapdata1.txt";
                          >>> open(INP, $Input_File);
                          >>> @by_jobname=<INP>;
                          >>> close(INP);
                          >>>
                          >>> foreach $New_Jobname (@by_jobname)
                          >>> {
                          >>> $em_job = substr($New_Jobname,11,50);
                          >>> $em_key = substr($New_Jobname,11,2);
                          >>>
                          >>> if ($em_key eq "Apples")
                          >>> {
                          >>> $count[1] = $count[1] + 1;
                          >>> }
                          >>>
                          >>> }
                          >>>
                          >>> print "$em_key count is: $count[1]\n";
                          >>>
                          >>> my $count = 0;
                          >>> foreach $New_Jobname (@by_jobname)
                          >>> {
                          >>> $em_job = substr($New_Jobname,11,50);
                          >>> $em_key = substr($New_Jobname,11,2);
                          >>>
                          >>> if ($em_key eq "Oranges")
                          >>> {
                          >>> $count[2] = $count[2] + 1;
                          >>> }
                          >>>
                          >>> }
                          >>> print "$em_key count is: $count[2]\n";
                          >>> exit;
                          >>>
                          >>> It give me the following results:
                          >>>
                          >>> Apple Count is: 2
                          >>> Oranges Count is: 1
                          >>>
                          >>> Here is the data.
                          >>>
                          >>> Apples |Sweet
                          >>> Oranges |Seeds
                          >>> Apples |Sour
                          >>>
                          >>> -----Original Message-----
                          >>> From: perl-beginner@yahoogroups.com
                          > <mailto:perl-beginner%40yahoogroups.com>
                          > <mailto:perl-beginner%40yahoogroups.com>
                          >> <mailto:perl-beginner%40yahoogroups.com>
                          >> [mailto:perl-beginner@yahoogroups.com
                          > <mailto:perl-beginner%40yahoogroups.com>
                          > <mailto:perl-beginner%40yahoogroups.com>
                          >> <mailto:perl-beginner%40yahoogroups.com> ]
                          >>> On Behalf Of Scot Robnett
                          >>> Sent: Wednesday, June 17, 2009 12:22 PM
                          >>> To: perl-beginner@yahoogroups.com
                          > <mailto:perl-beginner%40yahoogroups.com>
                          > <mailto:perl-beginner%40yahoogroups.com>
                          > <mailto:perl-beginner%40yahoogroups.com>
                          >>
                          >>> Subject: RE: [PBML] Newbie question
                          >>>
                          >>> What is the exact format of the file?
                          >>>
                          >>> What have you tried so far?
                          >>>
                          >>> Nobody is going to write the script for you. The group is here to help
                          >>> you figure things out when you get stuck or something isn't working, but
                          >>> you're supposed to try something first.
                          >>>
                          >>>
                          >>>
                          >>> -----Original Message-----
                          >>> From: perl-beginner@yahoogroups.com
                          > <mailto:perl-beginner%40yahoogroups.com>
                          > <mailto:perl-beginner%40yahoogroups.com>
                          >> <mailto:perl-beginner%40yahoogroups.com>
                          >>> [mailto:perl-beginner@yahoogroups.com
                          > <mailto:perl-beginner%40yahoogroups.com>
                          > <mailto:perl-beginner%40yahoogroups.com>
                          >> <mailto:perl-beginner%40yahoogroups.com> ] On Behalf Of Kevin Patterson
                          >>> Sent: Wednesday, June 17, 2009 2:11 PM
                          >>> To: perl-beginner@yahoogroups.com
                          > <mailto:perl-beginner%40yahoogroups.com>
                          > <mailto:perl-beginner%40yahoogroups.com>
                          > <mailto:perl-beginner%40yahoogroups.com>
                          >>
                          >>> Subject: [PBML] Newbie question
                          >>>
                          >>>
                          >>> Hello..
                          >>>
                          >>> I am writing a perl program in windows..
                          >>>
                          >>> Here is my problem.
                          >>>
                          >>> I have a file containing data such as:
                          >>>
                          >>> Apples
                          >>>
                          >>> Oranges
                          >>>
                          >>> Pears
                          >>>
                          >>> Bananas
                          >>>
                          >>> Plums
                          >>>
                          >>> Apples
                          >>>
                          >>> Oranges
                          >>>
                          >>> Pears
                          >>>
                          >>> bananas
                          >>>
                          >>> kiwi
                          >>>
                          >>> Apples
                          >>>
                          >>> Oranges
                          >>>
                          >>> Pears
                          >>>
                          >>> bananas
                          >>>
                          >>> I write a program to read this file and create a summary report showing
                          >>>
                          >>> How many apples:
                          >>>
                          >>> How many oranges
                          >>>
                          >>> How many Pears
                          >>>
                          >>> Can anyone help me??
                          >>>
                          >>> thanks
                          >>>
                          >>> [Non-text portions of this message have been removed]
                          >>>
                          >>> No virus found in this incoming message.
                          >>> Checked by AVG - www.avg.com
                          >>> Version: 8.5.374 / Virus Database: 270.12.73/2180 - Release Date:
                          >>> 06/17/09 05:53:00
                          >>>
                          >>> No virus found in this outgoing message.
                          >>> Checked by AVG - www.avg.com
                          >>> Version: 8.5.374 / Virus Database: 270.12.73/2180 - Release Date:
                          >>> 06/17/09 05:53:00
                          >>>
                          >>> [Non-text portions of this message have been removed]
                          >>>
                          >>> ------------------------------------
                          >>>
                          >>> Unsubscribing info is here:
                          >>> http://help.yahoo.com/help/us/groups/groups-32.htmlYahoo! Groups Links
                          >>>
                          >>>
                          >>
                          >> [Non-text portions of this message have been removed]
                          >>
                          >>
                          >
                          > [Non-text portions of this message have been removed]
                          >
                          > [Non-text portions of this message have been removed]
                          >
                          >
                        • Robert Lee Binkley
                          Hope this helps Output: Apples count is: 3 Oranges count is: 3 Pears count is: 3 Src: #!/usr/bin/perl use strict; use warnings; my $count = 0; my
                          Message 12 of 29 , Jun 18, 2009
                          • 0 Attachment
                            Hope this helps



                            Output:

                            Apples count is: 3
                            Oranges count is: 3
                            Pears count is: 3



                            Src:

                            #!/usr/bin/perl



                            use strict;
                            use warnings;
                            my $count = 0;
                            my $key_count = 0;



                            my %MFN = qw(apples 0 oranges 0 pears 0);
                            my $MyFruitNames = \%MFN;



                            INPUTTP: while ( <DATA> ) {
                            chomp;
                            last if ( /^\s*_{1,2}\s*end\d{0,}\s*_{1,}/ );

                            s/^\s+//g;
                            $_ = lc($_);
                            $MyFruitNames->{$_}++ if ( defined $MyFruitNames->{$_} );
                            }
                            my $MyPrtKey;
                            foreach $MyPrtKey ( sort keys %{$MyFruitNames} ) {
                            printf "%s count is: %3d\n",
                            ucfirst($MyPrtKey),
                            $MyFruitNames->{$MyPrtKey};
                            }
                            __DATA__
                            Apples
                            Oranges
                            Pears
                            Bananas
                            Plums
                            Apples
                            Oranges
                            Pears
                            bananas
                            kiwi
                            Apples
                            Oranges
                            Pears
                            bananas
                            __END0__





                            From: perl-beginner@yahoogroups.com [mailto:perl-beginner@yahoogroups.com]
                            On Behalf Of Jeff Soules
                            Sent: Thursday, June 18, 2009 7:22 AM
                            To: perl-beginner@yahoogroups.com
                            Subject: Re: [PBML] Newbie question








                            In a Unix environment, the easiest way to sort the file would be to
                            use the sort utility on the file. But you said you're running in
                            Windows. So, since your code was loading the entire file into an
                            array (one line per array element) before processing it, you could
                            then sort that array using Perl's sort() function. This would put the
                            lines in alphabetical order.

                            However, per the problem description that you've posted and the
                            hash-based solution which people have pointed you towards, the line
                            order in the file shouldn't be a problem. Has your problem situation
                            changed?

                            On Wed, Jun 17, 2009 at 6:07 PM, Kevin Patterson<kpatters@...
                            <mailto:kpatters%40berkeley.edu> > wrote:
                            >
                            >
                            > Ok.
                            >
                            > Im stuck again.
                            >
                            > I need to sort this input file below before my code..
                            >
                            > Cant someone help me with this??
                            >
                            >>> #!/usr/bin/perl
                            >>>
                            >>> #use warnings;
                            >>> #use diagnostics;
                            >>>
                            >>> my $count = 0;
                            >>> my $key_count = 0;
                            >>> $Input_File="crapdata1.txt";
                            >>> open(INP, $Input_File);
                            >>> @by_jobname=<INP>;
                            >>> close(INP);
                            >>>
                            >>> foreach $New_Jobname (@by_jobname)
                            >>> {
                            >>> $em_job = substr($New_Jobname,11,50);
                            >>> $em_key = substr($New_Jobname,11,2);
                            >>>
                            >>> if ($em_key eq "Apples")
                            >>> {
                            >>> $count[1] = $count[1] + 1;
                            >>> }
                            >>>
                            >>> }
                            >>>
                            >>> print "$em_key count is: $count[1]\n";
                            >>>
                            >>> my $count = 0;
                            >>> foreach $New_Jobname (@by_jobname)
                            >>> {
                            >>> $em_job = substr($New_Jobname,11,50);
                            >>> $em_key = substr($New_Jobname,11,2);
                            >>>
                            >>> if ($em_key eq "Oranges")
                            >>> {
                            >>> $count[2] = $count[2] + 1;
                            >>> }
                            >>>
                            >>> }
                            >>> print "$em_key count is: $count[2]\n";
                            >>> exit;
                            >>>
                            >>> It give me the following results:
                            >>>
                            >>> Apple Count is: 2
                            >>> Oranges Count is: 1
                            >>>
                            >>> Here is the data.
                            >>>
                            >>> Apples |Sweet
                            >>> Oranges |Seeds
                            >>> Apples |Sour
                            >>>
                            >>> -----Original Message-----
                            >>> From: perl-beginner@yahoogroups.com
                            <mailto:perl-beginner%40yahoogroups.com>
                            > <mailto:perl-beginner%40yahoogroups.com>
                            > <mailto:perl-beginner%40yahoogroups.com>
                            >> <mailto:perl-beginner%40yahoogroups.com>
                            >> [mailto:perl-beginner@yahoogroups.com
                            <mailto:perl-beginner%40yahoogroups.com>
                            > <mailto:perl-beginner%40yahoogroups.com>
                            > <mailto:perl-beginner%40yahoogroups.com>
                            >> <mailto:perl-beginner%40yahoogroups.com> ]
                            >>> On Behalf Of Scot Robnett
                            >>> Sent: Wednesday, June 17, 2009 12:22 PM
                            >>> To: perl-beginner@yahoogroups.com
                            <mailto:perl-beginner%40yahoogroups.com>
                            > <mailto:perl-beginner%40yahoogroups.com>
                            > <mailto:perl-beginner%40yahoogroups.com>
                            > <mailto:perl-beginner%40yahoogroups.com>
                            >>
                            >>> Subject: RE: [PBML] Newbie question
                            >>>
                            >>> What is the exact format of the file?
                            >>>
                            >>> What have you tried so far?
                            >>>
                            >>> Nobody is going to write the script for you. The group is here to help
                            >>> you figure things out when you get stuck or something isn't working, but
                            >>> you're supposed to try something first.
                            >>>
                            >>>
                            >>>
                            >>> -----Original Message-----
                            >>> From: perl-beginner@yahoogroups.com
                            <mailto:perl-beginner%40yahoogroups.com>
                            > <mailto:perl-beginner%40yahoogroups.com>
                            > <mailto:perl-beginner%40yahoogroups.com>
                            >> <mailto:perl-beginner%40yahoogroups.com>
                            >>> [mailto:perl-beginner@yahoogroups.com
                            <mailto:perl-beginner%40yahoogroups.com>
                            > <mailto:perl-beginner%40yahoogroups.com>
                            > <mailto:perl-beginner%40yahoogroups.com>
                            >> <mailto:perl-beginner%40yahoogroups.com> ] On Behalf Of Kevin Patterson
                            >>> Sent: Wednesday, June 17, 2009 2:11 PM
                            >>> To: perl-beginner@yahoogroups.com
                            <mailto:perl-beginner%40yahoogroups.com>
                            > <mailto:perl-beginner%40yahoogroups.com>
                            > <mailto:perl-beginner%40yahoogroups.com>
                            > <mailto:perl-beginner%40yahoogroups.com>
                            >>
                            >>> Subject: [PBML] Newbie question
                            >>>
                            >>>
                            >>> Hello..
                            >>>
                            >>> I am writing a perl program in windows..
                            >>>
                            >>> Here is my problem.
                            >>>
                            >>> I have a file containing data such as:
                            >>>
                            >>> Apples
                            >>>
                            >>> Oranges
                            >>>
                            >>> Pears
                            >>>
                            >>> Bananas
                            >>>
                            >>> Plums
                            >>>
                            >>> Apples
                            >>>
                            >>> Oranges
                            >>>
                            >>> Pears
                            >>>
                            >>> bananas
                            >>>
                            >>> kiwi
                            >>>
                            >>> Apples
                            >>>
                            >>> Oranges
                            >>>
                            >>> Pears
                            >>>
                            >>> bananas
                            >>>
                            >>> I write a program to read this file and create a summary report showing
                            >>>
                            >>> How many apples:
                            >>>
                            >>> How many oranges
                            >>>
                            >>> How many Pears
                            >>>
                            >>> Can anyone help me??
                            >>>
                            >>> thanks
                            >>>
                            >>> [Non-text portions of this message have been removed]
                            >>>
                            >>> No virus found in this incoming message.
                            >>> Checked by AVG - www.avg.com
                            >>> Version: 8.5.374 / Virus Database: 270.12.73/2180 - Release Date:
                            >>> 06/17/09 05:53:00
                            >>>
                            >>> No virus found in this outgoing message.
                            >>> Checked by AVG - www.avg.com
                            >>> Version: 8.5.374 / Virus Database: 270.12.73/2180 - Release Date:
                            >>> 06/17/09 05:53:00
                            >>>
                            >>> [Non-text portions of this message have been removed]
                            >>>
                            >>> ------------------------------------
                            >>>
                            >>> Unsubscribing info is here:
                            >>> http://help.yahoo.com/help/us/groups/groups-32.htmlYahoo! Groups Links
                            >>>
                            >>>
                            >>
                            >> [Non-text portions of this message have been removed]
                            >>
                            >>
                            >
                            > [Non-text portions of this message have been removed]
                            >
                            > [Non-text portions of this message have been removed]
                            >
                            >





                            [Non-text portions of this message have been removed]
                          • Kevin Patterson
                            Hi, I am writing a perl program to call/ execute another windows program Using the system command. I am trying to get/print the results to see if the command
                            Message 13 of 29 , Jun 23, 2009
                            • 0 Attachment
                              Hi,



                              I am writing a perl program to call/ execute another windows program

                              Using the system command.



                              I am trying to get/print the results to see if the command worked.

                              Is there a way to capture the output of what the program ran??



                              I tried using system ' ' and system(). I get the same results.. nothing..



                              Here is my code so far.



                              #!/usr/bin/perl



                              # use strict;

                              # use warnings;





                              @client = qw(EM AS);



                              #@client = qw(EM HR KR AS BF DB);

                              my $eNV = "QW-D";

                              my $T = '"';



                              foreach $Client_Key (@client)

                              {



                              system 'CTMORDER -SCHEDTAB EM-$ENV-REPORT-LOGS -JOBNAME
                              EM-$ENV-$Client_Key-AAL-EMAIL -ODATE ODAT -FORCE Y';



                              print "Status: $? $!\n";

                              }



                              [Non-text portions of this message have been removed]
                            • Dan Stephenson
                              ... Try opening the the command with a piped file handle, like so... the below example will execute a given command and print the output to the screen (you
                              Message 14 of 29 , Jun 23, 2009
                              • 0 Attachment
                                Kevin Patterson wrote:
                                >
                                >
                                >
                                >
                                > Hi,
                                >
                                > I am writing a perl program to call/ execute another windows program
                                >
                                > Using the system command.
                                >
                                > I am trying to get/print the results to see if the command worked.
                                >
                                > Is there a way to capture the output of what the program ran??
                                >
                                > I tried using system ' ' and system(). I get the same results.. nothing..
                                >
                                > Here is my code so far.
                                >
                                > #!/usr/bin/perl
                                >
                                > # use strict;
                                >
                                > # use warnings;
                                >
                                > @client = qw(EM AS);
                                >
                                > #@client = qw(EM HR KR AS BF DB);
                                >
                                > my $eNV = "QW-D";
                                >
                                > my $T = '"';
                                >
                                > foreach $Client_Key (@client)
                                >
                                > {
                                >
                                > system 'CTMORDER -SCHEDTAB EM-$ENV-REPORT-LOGS -JOBNAME
                                > EM-$ENV-$Client_Key-AAL-EMAIL -ODATE ODAT -FORCE Y';
                                >
                                > print "Status: $? $!\n";
                                >
                                > }
                                >
                                > [Non-text portions of this message have been removed]
                                >
                                >

                                Try opening the the command with a piped file handle, like so... the
                                below example will execute a given command and print the output to the
                                screen (you could very well parse this output and do stuff with the
                                information)...

                                open my $command, "command |";

                                while (my $line = <$command>) {

                                print $line; # you could do other stuff with this...
                                }

                                close $command;




                                [Non-text portions of this message have been removed]
                              • Jeff Soules
                                Maybe the backtick operator ` `? (Backtick on my keyboard is the tilde key ~ without shift, but it might be different on your keyboard). ... You d do my
                                Message 15 of 29 , Jun 24, 2009
                                • 0 Attachment
                                  Maybe the backtick operator ` `? (Backtick on my keyboard is the
                                  tilde key ~ without shift, but it might be different on your
                                  keyboard).

                                  So in place of:

                                  > system 'CTMORDER -SCHEDTAB EM-$ENV-REPORT-LOGS -JOBNAME
                                  > EM-$ENV-$Client_Key-AAL-EMAIL -ODATE ODAT -FORCE Y';

                                  You'd do

                                  my $result = `CTMORDER -SCHEDTAB EM-$ENV-REPORT-LOGS -JOBNAME
                                  EM-$ENV-$Client_Key-AAL-EMAIL -ODATE ODAT -FORCE Y`;

                                  and then look in $result for whatever the other utility would normally
                                  print on the screen.

                                  $? is supposed to be set the same way for system() as for the backtick
                                  operator, but maybe your other Windows program isn't returning a
                                  status properly or something?

                                  On Tue, Jun 23, 2009 at 9:33 PM, Kevin Patterson<kpatters@...> wrote:
                                  >
                                  >
                                  >
                                  >
                                  > Hi,
                                  >
                                  > I am writing a perl program to call/ execute another windows program
                                  >
                                  > Using the system command.
                                  >
                                  > I am trying to get/print the results to see if the command worked.
                                  >
                                  > Is there a way to capture the output of what the program ran??
                                  >
                                  > I tried using system ' ' and system(). I get the same results.. nothing..
                                  >
                                  > Here is my code so far.
                                  >
                                  > #!/usr/bin/perl
                                  >
                                  > # use strict;
                                  >
                                  > # use warnings;
                                  >
                                  > @client = qw(EM AS);
                                  >
                                  > #@client = qw(EM HR KR AS BF DB);
                                  >
                                  > my $eNV = "QW-D";
                                  >
                                  > my $T = '"';
                                  >
                                  > foreach $Client_Key (@client)
                                  >
                                  > {
                                  >
                                  > system 'CTMORDER -SCHEDTAB EM-$ENV-REPORT-LOGS -JOBNAME
                                  > EM-$ENV-$Client_Key-AAL-EMAIL -ODATE ODAT -FORCE Y';
                                  >
                                  > print "Status: $? $!\n";
                                  >
                                  > }
                                  >
                                  > [Non-text portions of this message have been removed]
                                  >
                                  >
                                • Kevin Patterson
                                  I TRIED IT THIS WAY.. INCLUDING WITH THE BACK LASHES. But I still get nothing.. And I show nothing ran in task manager.. open my $command, e: BMC
                                  Message 16 of 29 , Jun 24, 2009
                                  • 0 Attachment
                                    I TRIED IT THIS WAY.. INCLUDING WITH THE BACK LASHES. But I still get
                                    nothing.. And I show nothing ran in task manager..



                                    open my $command, "e:\BMC Software\CONTROL-M
                                    Server\Ctm_server\Exe\CTMORDER.exe -SCHEDTAB EM-QW-D-REPORT-LOGS -JOBNAME
                                    EM-QW-D-AS-AAL-EMAIL -ODATE ODAT -FORCE Y";



                                    while (my $line = <$command>) {



                                    print $line; # you could do other stuff with this...

                                    }



                                    close $command;



                                    exit;



                                    From: perl-beginner@yahoogroups.com [mailto:perl-beginner@yahoogroups.com]
                                    On Behalf Of Jeff Soules
                                    Sent: Wednesday, June 24, 2009 9:58 AM
                                    To: perl-beginner@yahoogroups.com
                                    Subject: Re: [PBML] Using System Command in Perl








                                    Maybe the backtick operator ` `? (Backtick on my keyboard is the
                                    tilde key ~ without shift, but it might be different on your
                                    keyboard).

                                    So in place of:

                                    > system 'CTMORDER -SCHEDTAB EM-$ENV-REPORT-LOGS -JOBNAME
                                    > EM-$ENV-$Client_Key-AAL-EMAIL -ODATE ODAT -FORCE Y';

                                    You'd do

                                    my $result = `CTMORDER -SCHEDTAB EM-$ENV-REPORT-LOGS -JOBNAME
                                    EM-$ENV-$Client_Key-AAL-EMAIL -ODATE ODAT -FORCE Y`;

                                    and then look in $result for whatever the other utility would normally
                                    print on the screen.

                                    $? is supposed to be set the same way for system() as for the backtick
                                    operator, but maybe your other Windows program isn't returning a
                                    status properly or something?

                                    On Tue, Jun 23, 2009 at 9:33 PM, Kevin Patterson<kpatters@...
                                    <mailto:kpatters%40berkeley.edu> > wrote:
                                    >
                                    >
                                    >
                                    >
                                    > Hi,
                                    >
                                    > I am writing a perl program to call/ execute another windows program
                                    >
                                    > Using the system command.
                                    >
                                    > I am trying to get/print the results to see if the command worked.
                                    >
                                    > Is there a way to capture the output of what the program ran??
                                    >
                                    > I tried using system ' ' and system(). I get the same results.. nothing..
                                    >
                                    > Here is my code so far.
                                    >
                                    > #!/usr/bin/perl
                                    >
                                    > # use strict;
                                    >
                                    > # use warnings;
                                    >
                                    > @client = qw(EM AS);
                                    >
                                    > #@client = qw(EM HR KR AS BF DB);
                                    >
                                    > my $eNV = "QW-D";
                                    >
                                    > my $T = '"';
                                    >
                                    > foreach $Client_Key (@client)
                                    >
                                    > {
                                    >
                                    > system 'CTMORDER -SCHEDTAB EM-$ENV-REPORT-LOGS -JOBNAME
                                    > EM-$ENV-$Client_Key-AAL-EMAIL -ODATE ODAT -FORCE Y';
                                    >
                                    > print "Status: $? $!\n";
                                    >
                                    > }
                                    >
                                    > [Non-text portions of this message have been removed]
                                    >
                                    >





                                    [Non-text portions of this message have been removed]
                                  • vishal thakur
                                    When executing this command, don t forget to redirect the STDERR to STDIO, else you won t be able to figure out the reason why command has failed, so i will
                                    Message 17 of 29 , Jun 25, 2009
                                    • 0 Attachment
                                      When executing this command, don't forget to redirect the STDERR to STDIO,
                                      else you won't be able to figure out the reason why command has failed, so i
                                      will suggest following
                                      my $result = `CTMORDER -SCHEDTAB EM-$ENV-REPORT-LOGS -JOBNAME
                                      EM-$ENV-$Client_Key-AAL-EMAIL -ODATE ODAT -FORCE Y 2>&1`;

                                      so result will hold any output message or error message and to know the
                                      status of the command just echo "$?"

                                      On Wed, Jun 24, 2009 at 10:27 PM, Jeff Soules <soules@...> wrote:

                                      >
                                      >
                                      > Maybe the backtick operator ` `? (Backtick on my keyboard is the
                                      > tilde key ~ without shift, but it might be different on your
                                      > keyboard).
                                      >
                                      > So in place of:
                                      >
                                      >
                                      > > system 'CTMORDER -SCHEDTAB EM-$ENV-REPORT-LOGS -JOBNAME
                                      > > EM-$ENV-$Client_Key-AAL-EMAIL -ODATE ODAT -FORCE Y';
                                      >
                                      > You'd do
                                      >
                                      > my $result = `CTMORDER -SCHEDTAB EM-$ENV-REPORT-LOGS -JOBNAME
                                      > EM-$ENV-$Client_Key-AAL-EMAIL -ODATE ODAT -FORCE Y`;
                                      >
                                      > and then look in $result for whatever the other utility would normally
                                      > print on the screen.
                                      >
                                      > $? is supposed to be set the same way for system() as for the backtick
                                      > operator, but maybe your other Windows program isn't returning a
                                      > status properly or something?
                                      >
                                      > On Tue, Jun 23, 2009 at 9:33 PM, Kevin Patterson<kpatters@...<kpatters%40berkeley.edu>>
                                      > wrote:
                                      > >
                                      > >
                                      > >
                                      > >
                                      > > Hi,
                                      > >
                                      > > I am writing a perl program to call/ execute another windows program
                                      > >
                                      > > Using the system command.
                                      > >
                                      > > I am trying to get/print the results to see if the command worked.
                                      > >
                                      > > Is there a way to capture the output of what the program ran??
                                      > >
                                      > > I tried using system ' ' and system(). I get the same results.. nothing..
                                      > >
                                      > > Here is my code so far.
                                      > >
                                      > > #!/usr/bin/perl
                                      > >
                                      > > # use strict;
                                      > >
                                      > > # use warnings;
                                      > >
                                      > > @client = qw(EM AS);
                                      > >
                                      > > #@client = qw(EM HR KR AS BF DB);
                                      > >
                                      > > my $eNV = "QW-D";
                                      > >
                                      > > my $T = '"';
                                      > >
                                      > > foreach $Client_Key (@client)
                                      > >
                                      > > {
                                      > >
                                      > > system 'CTMORDER -SCHEDTAB EM-$ENV-REPORT-LOGS -JOBNAME
                                      > > EM-$ENV-$Client_Key-AAL-EMAIL -ODATE ODAT -FORCE Y';
                                      > >
                                      > > print "Status: $? $!\n";
                                      > >
                                      > > }
                                      > >
                                      > > [Non-text portions of this message have been removed]
                                      > >
                                      > >
                                      >
                                      >



                                      --
                                      Regards
                                      Vishal Thakur
                                      +919923206953


                                      [Non-text portions of this message have been removed]
                                    • Shlomi Fish
                                      ... In that case, make sure you use String-ShellQuote: http://search.cpan.org/dist/String-ShellQuote/ Alternatively use open -| , @list which is only
                                      Message 18 of 29 , Jun 25, 2009
                                      • 0 Attachment
                                        On Wednesday 24 June 2009 19:57:50 Jeff Soules wrote:
                                        > Maybe the backtick operator ` `? (Backtick on my keyboard is the
                                        > tilde key ~ without shift, but it might be different on your
                                        > keyboard).
                                        >
                                        > So in place of:
                                        > > system 'CTMORDER -SCHEDTAB EM-$ENV-REPORT-LOGS -JOBNAME
                                        > > EM-$ENV-$Client_Key-AAL-EMAIL -ODATE ODAT -FORCE Y';
                                        >
                                        > You'd do
                                        >
                                        > my $result = `CTMORDER -SCHEDTAB EM-$ENV-REPORT-LOGS -JOBNAME
                                        > EM-$ENV-$Client_Key-AAL-EMAIL -ODATE ODAT -FORCE Y`;
                                        >

                                        In that case, make sure you use String-ShellQuote:

                                        http://search.cpan.org/dist/String-ShellQuote/

                                        Alternatively use open '-|', @list which is only available on Windows.

                                        Regards,

                                        Shlomi Fish

                                        > and then look in $result for whatever the other utility would normally
                                        > print on the screen.
                                        >
                                        > $? is supposed to be set the same way for system() as for the backtick
                                        > operator, but maybe your other Windows program isn't returning a
                                        > status properly or something?
                                        >
                                        > On Tue, Jun 23, 2009 at 9:33 PM, Kevin Patterson<kpatters@...>
                                        wrote:
                                        > > Hi,
                                        > >
                                        > > I am writing a perl program to call/ execute another windows program
                                        > >
                                        > > Using the system command.
                                        > >
                                        > > I am trying to get/print the results to see if the command worked.
                                        > >
                                        > > Is there a way to capture the output of what the program ran??
                                        > >
                                        > > I tried using system ' ' and system(). I get the same results.. nothing..
                                        > >
                                        > > Here is my code so far.
                                        > >
                                        > > #!/usr/bin/perl
                                        > >
                                        > > # use strict;
                                        > >
                                        > > # use warnings;
                                        > >
                                        > > @client = qw(EM AS);
                                        > >
                                        > > #@client = qw(EM HR KR AS BF DB);
                                        > >
                                        > > my $eNV = "QW-D";
                                        > >
                                        > > my $T = '"';
                                        > >
                                        > > foreach $Client_Key (@client)
                                        > >
                                        > > {
                                        > >
                                        > > system 'CTMORDER -SCHEDTAB EM-$ENV-REPORT-LOGS -JOBNAME
                                        > > EM-$ENV-$Client_Key-AAL-EMAIL -ODATE ODAT -FORCE Y';
                                        > >
                                        > > print "Status: $? $!\n";
                                        > >
                                        > > }
                                        > >
                                        > > [Non-text portions of this message have been removed]

                                        --
                                        -----------------------------------------------------------------
                                        Shlomi Fish http://www.shlomifish.org/
                                        Freecell Solver - http://fc-solve.berlios.de/

                                        God gave us two eyes and ten fingers so we will type five times as much as we
                                        read.
                                      Your message has been successfully submitted and would be delivered to recipients shortly.