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

Pass array to a subroutine

Expand Messages
  • lakshmi.sailaja@wipro.com
    Hello, Can anyone please tell me the way I can pass an array to a subroutine? It would be great if any code snippet is also provided? Regards, Lakshmi
    Message 1 of 11 , Jan 5, 2005
      Hello,

      Can anyone please tell me the way I can pass an array to a subroutine?

      It would be great if any code snippet is also provided?

      Regards,
      Lakshmi
    • lakshmi.sailaja@wipro.com
      Hello, This is an addendum to my below question. I need to pass 2 strings along with an array to the subroutine. Regards, Lakshmi ... From: Lakshmi Sailaja
      Message 2 of 11 , Jan 5, 2005
        Hello,

        This is an addendum to my below question. I need to pass 2 strings along
        with an array to the subroutine.

        Regards,
        Lakshmi

        -----Original Message-----
        From: Lakshmi Sailaja (WT01 - EMBEDDED & PRODUCT ENGINEERING SOLUTIONS)
        Sent: Wednesday, January 05, 2005 5:19 PM
        To: 'perl-beginner@yahoogroups.com'
        Subject: Pass array to a subroutine

        Hello,

        Can anyone please tell me the way I can pass an array to a subroutine?

        It would be great if any code snippet is also provided?

        Regards,
        Lakshmi
      • lakshmi.sailaja@wipro.com
        Hello Raghuram, Can you please illustrate the below example by passing 2 strings along with the array to the subroutine? Regards, Lakshmi ... From: Raghu Ram
        Message 3 of 11 , Jan 5, 2005
          Hello Raghuram,

          Can you please illustrate the below example by passing 2 strings along
          with the array to the subroutine?

          Regards,
          Lakshmi

          -----Original Message-----
          From: Raghu Ram Murthy [mailto:me_rams@...]
          Sent: Wednesday, January 05, 2005 5:28 PM
          To: perl-beginner@yahoogroups.com
          Subject: Re: [PBML] Pass array to a subroutine


          You can pass an array to a sub routine in two ways.
          One is passing entire array and another is passing the
          array reference.

          Passing array:

          sub give_me_array {
          my @values = @_;
          print "@values\n";
          }

          my @arr = ( 1, 2, 3 );
          give_me_array(@arr);

          Passing reference:

          sub give_me_array {
          my $values = shift;
          print "@$values\n";
          }

          my @arr = ( 1, 2, 3 );
          give_me_array(\@arr);

          Thanks & Regards
          -Raghuram

          --- lakshmi.sailaja@... wrote:

          > Hello,
          >
          > Can anyone please tell me the way I can pass an
          > array to a subroutine?
          >
          > It would be great if any code snippet is also
          > provided?
          >
          > Regards,
          > Lakshmi
          >
          >


          =====
          ----------------------------------------------
          P.Raghu Ram Murthy, M-tech (Computer Science),
          Member, Information Technology,
          D E Shaw India Software Private Limited,
          6-3-879 & 879/B
          Begumpet, Hyderabad 500 016
          Andhra Pradesh
          India

          Mobile: (+91) 98852 17928
          ----------------------------------------------

          If it doesn't work, you're not hitting it with a big enough hammer



          __________________________________
          Do you Yahoo!?
          Take Yahoo! Mail with you! Get it on your mobile phone.
          http://mobile.yahoo.com/maildemo


          Unsubscribing info is here:
          http://help.yahoo.com/help/us/groups/groups-32.html
          Yahoo! Groups Links
        • Raghu Ram Murthy
          You can pass an array to a sub routine in two ways. One is passing entire array and another is passing the array reference. Passing array: sub give_me_array {
          Message 4 of 11 , Jan 5, 2005
            You can pass an array to a sub routine in two ways.
            One is passing entire array and another is passing the
            array reference.

            Passing array:

            sub give_me_array {
            my @values = @_;
            print "@values\n";
            }

            my @arr = ( 1, 2, 3 );
            give_me_array(@arr);

            Passing reference:

            sub give_me_array {
            my $values = shift;
            print "@$values\n";
            }

            my @arr = ( 1, 2, 3 );
            give_me_array(\@arr);

            Thanks & Regards
            -Raghuram

            --- lakshmi.sailaja@... wrote:

            > Hello,
            >
            > Can anyone please tell me the way I can pass an
            > array to a subroutine?
            >
            > It would be great if any code snippet is also
            > provided?
            >
            > Regards,
            > Lakshmi
            >
            >


            =====
            ----------------------------------------------
            P.Raghu Ram Murthy, M-tech (Computer Science),
            Member, Information Technology,
            D E Shaw India Software Private Limited,
            6-3-879 & 879/B
            Begumpet, Hyderabad 500 016
            Andhra Pradesh
            India

            Mobile: (+91) 98852 17928
            ----------------------------------------------

            If it doesn't work, you're not hitting it with a big enough hammer



            __________________________________
            Do you Yahoo!?
            Take Yahoo! Mail with you! Get it on your mobile phone.
            http://mobile.yahoo.com/maildemo
          • Raghu Ram Murthy
            sub xxx { my ($str1, $str2, @arr) = @_; } my @arr = (1, 2, 3); xxx( aaa , bbb , @arr); ... P.Raghu Ram Murthy, M-tech (Computer Science), Member, Information
            Message 5 of 11 , Jan 5, 2005
              sub xxx {
              my ($str1, $str2, @arr) = @_;
              }
              my @arr = (1, 2, 3);
              xxx("aaa", "bbb", @arr);


              --- lakshmi.sailaja@... wrote:

              > Hello Raghuram,
              >
              > Can you please illustrate the below example by
              > passing 2 strings along
              > with the array to the subroutine?
              >
              > Regards,
              > Lakshmi
              >
              > -----Original Message-----
              > From: Raghu Ram Murthy [mailto:me_rams@...]
              > Sent: Wednesday, January 05, 2005 5:28 PM
              > To: perl-beginner@yahoogroups.com
              > Subject: Re: [PBML] Pass array to a subroutine
              >
              >
              > You can pass an array to a sub routine in two ways.
              > One is passing entire array and another is passing
              > the
              > array reference.
              >
              > Passing array:
              >
              > sub give_me_array {
              > my @values = @_;
              > print "@values\n";
              > }
              >
              > my @arr = ( 1, 2, 3 );
              > give_me_array(@arr);
              >
              > Passing reference:
              >
              > sub give_me_array {
              > my $values = shift;
              > print "@$values\n";
              > }
              >
              > my @arr = ( 1, 2, 3 );
              > give_me_array(\@arr);
              >
              > Thanks & Regards
              > -Raghuram
              >
              > --- lakshmi.sailaja@... wrote:
              >
              > > Hello,
              > >
              > > Can anyone please tell me the way I can pass an
              > > array to a subroutine?
              > >
              > > It would be great if any code snippet is also
              > > provided?
              > >
              > > Regards,
              > > Lakshmi
              > >
              > >
              >
              >
              > =====
              > ----------------------------------------------
              > P.Raghu Ram Murthy, M-tech (Computer Science),
              > Member, Information Technology,
              > D E Shaw India Software Private Limited,
              > 6-3-879 & 879/B
              > Begumpet, Hyderabad 500 016
              > Andhra Pradesh
              > India
              >
              > Mobile: (+91) 98852 17928
              > ----------------------------------------------
              >
              > If it doesn't work, you're not hitting it with a big
              > enough hammer
              >
              >
              >
              > __________________________________
              > Do you Yahoo!?
              > Take Yahoo! Mail with you! Get it on your mobile
              > phone.
              > http://mobile.yahoo.com/maildemo
              >
              >
              > Unsubscribing info is here:
              > http://help.yahoo.com/help/us/groups/groups-32.html
              > Yahoo! Groups Links
              >
              >
              >
              >
              >
              >
              >
              >


              =====
              ----------------------------------------------
              P.Raghu Ram Murthy, M-tech (Computer Science),
              Member, Information Technology,
              D E Shaw India Software Private Limited,
              6-3-879 & 879/B
              Begumpet, Hyderabad 500 016
              Andhra Pradesh
              India

              Mobile: (+91) 98852 17928
              ----------------------------------------------

              If it doesn't work, you're not hitting it with a big enough hammer



              __________________________________
              Do you Yahoo!?
              The all-new My Yahoo! - Get yours free!
              http://my.yahoo.com
            • lakshmi.sailaja@wipro.com
              Thanks Raghuram. Regards, Lakshmi ... From: Raghu Ram Murthy [mailto:me_rams@yahoo.com] Sent: Wednesday, January 05, 2005 6:03 PM To:
              Message 6 of 11 , Jan 5, 2005
                Thanks Raghuram.

                Regards,
                Lakshmi


                -----Original Message-----
                From: Raghu Ram Murthy [mailto:me_rams@...]
                Sent: Wednesday, January 05, 2005 6:03 PM
                To: perl-beginner@yahoogroups.com
                Subject: RE: [PBML] Pass array to a subroutine


                sub xxx {
                my ($str1, $str2, @arr) = @_;
                }
                my @arr = (1, 2, 3);
                xxx("aaa", "bbb", @arr);


                --- lakshmi.sailaja@... wrote:

                > Hello Raghuram,
                >
                > Can you please illustrate the below example by
                > passing 2 strings along
                > with the array to the subroutine?
                >
                > Regards,
                > Lakshmi
                >
                > -----Original Message-----
                > From: Raghu Ram Murthy [mailto:me_rams@...]
                > Sent: Wednesday, January 05, 2005 5:28 PM
                > To: perl-beginner@yahoogroups.com
                > Subject: Re: [PBML] Pass array to a subroutine
                >
                >
                > You can pass an array to a sub routine in two ways.
                > One is passing entire array and another is passing
                > the
                > array reference.
                >
                > Passing array:
                >
                > sub give_me_array {
                > my @values = @_;
                > print "@values\n";
                > }
                >
                > my @arr = ( 1, 2, 3 );
                > give_me_array(@arr);
                >
                > Passing reference:
                >
                > sub give_me_array {
                > my $values = shift;
                > print "@$values\n";
                > }
                >
                > my @arr = ( 1, 2, 3 );
                > give_me_array(\@arr);
                >
                > Thanks & Regards
                > -Raghuram
                >
                > --- lakshmi.sailaja@... wrote:
                >
                > > Hello,
                > >
                > > Can anyone please tell me the way I can pass an
                > > array to a subroutine?
                > >
                > > It would be great if any code snippet is also
                > > provided?
                > >
                > > Regards,
                > > Lakshmi
                > >
                > >
                >
                >
                > =====
                > ----------------------------------------------
                > P.Raghu Ram Murthy, M-tech (Computer Science),
                > Member, Information Technology,
                > D E Shaw India Software Private Limited,
                > 6-3-879 & 879/B
                > Begumpet, Hyderabad 500 016
                > Andhra Pradesh
                > India
                >
                > Mobile: (+91) 98852 17928
                > ----------------------------------------------
                >
                > If it doesn't work, you're not hitting it with a big
                > enough hammer
                >
                >
                >
                > __________________________________
                > Do you Yahoo!?
                > Take Yahoo! Mail with you! Get it on your mobile
                > phone.
                > http://mobile.yahoo.com/maildemo
                >
                >
                > Unsubscribing info is here:
                > http://help.yahoo.com/help/us/groups/groups-32.html
                > Yahoo! Groups Links
                >
                >
                >
                >
                >
                >
                >
                >


                =====
                ----------------------------------------------
                P.Raghu Ram Murthy, M-tech (Computer Science),
                Member, Information Technology,
                D E Shaw India Software Private Limited,
                6-3-879 & 879/B
                Begumpet, Hyderabad 500 016
                Andhra Pradesh
                India

                Mobile: (+91) 98852 17928
                ----------------------------------------------

                If it doesn't work, you're not hitting it with a big enough hammer



                __________________________________
                Do you Yahoo!?
                The all-new My Yahoo! - Get yours free!
                http://my.yahoo.com




                Unsubscribing info is here:
                http://help.yahoo.com/help/us/groups/groups-32.html
                Yahoo! Groups Links
              • lakshmi.sailaja@wipro.com
                Hello, As per your suggestion, I am to generate the correct output if used in ... my @arr = (1, 2, 3); xxx(@arr, aaa , bbb ); sub xxx { my ($str1, $str2,
                Message 7 of 11 , Jan 5, 2005
                  Hello,

                  As per your suggestion, I am to generate the correct output if used in
                  the following way:

                  ---------------------------------------
                  my @arr = (1, 2, 3);

                  xxx(@arr, "aaa", "bbb");

                  sub xxx {
                  my ($str1, $str2, @arr) = @_;

                  print "str1 is $str1\n";
                  print "str2 is $str2\n";
                  print "array is @arr\n";
                  }
                  ---------------------------------------

                  Output: (CORRECT)
                  -------
                  str1 is aaa
                  str2 is bbb
                  array is 1 2 3

                  But, when I try calling the following way i.e, I am passing array as
                  first parameter and then strings as the second and third parameter, the
                  o/p is not the correct value:

                  ---------------------------------------
                  my @arr = (1, 2, 3);

                  xxx(@arr, "aaa", "bbb");

                  sub xxx {
                  my (@arr, $str1, $str2) = @_;

                  print "str1 is $str1\n";
                  print "str2 is $str2\n";
                  print "array is @arr\n";
                  }
                  ---------------------------------------

                  Output: (INCORRECT)
                  -------
                  str1 is
                  str2 is
                  array is 1 2 3 aaa bbb

                  Can you please tell me why does the above method doesn't generate the
                  correct output? Please do provide a solution, if exists.

                  Regards,
                  Lakshmi

                  -----Original Message-----
                  From: Raghu Ram Murthy [mailto:me_rams@...]
                  Sent: Wednesday, January 05, 2005 6:03 PM
                  To: perl-beginner@yahoogroups.com
                  Subject: RE: [PBML] Pass array to a subroutine


                  sub xxx {
                  my ($str1, $str2, @arr) = @_;
                  }
                  my @arr = (1, 2, 3);
                  xxx("aaa", "bbb", @arr);


                  --- lakshmi.sailaja@... wrote:

                  > Hello Raghuram,
                  >
                  > Can you please illustrate the below example by
                  > passing 2 strings along
                  > with the array to the subroutine?
                  >
                  > Regards,
                  > Lakshmi
                  >
                  > -----Original Message-----
                  > From: Raghu Ram Murthy [mailto:me_rams@...]
                  > Sent: Wednesday, January 05, 2005 5:28 PM
                  > To: perl-beginner@yahoogroups.com
                  > Subject: Re: [PBML] Pass array to a subroutine
                  >
                  >
                  > You can pass an array to a sub routine in two ways.
                  > One is passing entire array and another is passing
                  > the
                  > array reference.
                  >
                  > Passing array:
                  >
                  > sub give_me_array {
                  > my @values = @_;
                  > print "@values\n";
                  > }
                  >
                  > my @arr = ( 1, 2, 3 );
                  > give_me_array(@arr);
                  >
                  > Passing reference:
                  >
                  > sub give_me_array {
                  > my $values = shift;
                  > print "@$values\n";
                  > }
                  >
                  > my @arr = ( 1, 2, 3 );
                  > give_me_array(\@arr);
                  >
                  > Thanks & Regards
                  > -Raghuram
                  >
                  > --- lakshmi.sailaja@... wrote:
                  >
                  > > Hello,
                  > >
                  > > Can anyone please tell me the way I can pass an
                  > > array to a subroutine?
                  > >
                  > > It would be great if any code snippet is also
                  > > provided?
                  > >
                  > > Regards,
                  > > Lakshmi
                  > >
                  > >
                  >
                  >
                  > =====
                  > ----------------------------------------------
                  > P.Raghu Ram Murthy, M-tech (Computer Science),
                  > Member, Information Technology,
                  > D E Shaw India Software Private Limited,
                  > 6-3-879 & 879/B
                  > Begumpet, Hyderabad 500 016
                  > Andhra Pradesh
                  > India
                  >
                  > Mobile: (+91) 98852 17928
                  > ----------------------------------------------
                  >
                  > If it doesn't work, you're not hitting it with a big
                  > enough hammer
                  >
                  >
                  >
                  > __________________________________
                  > Do you Yahoo!?
                  > Take Yahoo! Mail with you! Get it on your mobile
                  > phone.
                  > http://mobile.yahoo.com/maildemo
                  >
                  >
                  > Unsubscribing info is here:
                  > http://help.yahoo.com/help/us/groups/groups-32.html
                  > Yahoo! Groups Links
                  >
                  >
                  >
                  >
                  >
                  >
                  >
                  >


                  =====
                  ----------------------------------------------
                  P.Raghu Ram Murthy, M-tech (Computer Science),
                  Member, Information Technology,
                  D E Shaw India Software Private Limited,
                  6-3-879 & 879/B
                  Begumpet, Hyderabad 500 016
                  Andhra Pradesh
                  India

                  Mobile: (+91) 98852 17928
                  ----------------------------------------------

                  If it doesn't work, you're not hitting it with a big enough hammer



                  __________________________________
                  Do you Yahoo!?
                  The all-new My Yahoo! - Get yours free!
                  http://my.yahoo.com




                  Unsubscribing info is here:
                  http://help.yahoo.com/help/us/groups/groups-32.html
                  Yahoo! Groups Links
                • Brad Lhotsky
                  Perl list flattens your args in your sub routine call into one list which is accesible by @_ in the subroutine. The contents of that array are 1 2 3 aaa
                  Message 8 of 11 , Jan 5, 2005
                    Perl list flattens your args in your sub routine call into one list
                    which is accesible by "@_" in the subroutine. The contents of that
                    array are "1 2 3 aaa bbb". When you make the assignment:

                    my (@list,$scalar) = @_;

                    the @list variable consumes the entire list from its position onward,
                    in this case, the beginning of the list.

                    Recommended reading:

                    perldoc perlintro
                    perldoc perldata
                    perldoc perlsub
                    perldoc perldsc

                    perldoc -q list

                    On Wed, Jan 05, 2005 at 07:26:29PM +0530, lakshmi.sailaja@... wrote:
                    >
                    > Hello,
                    >
                    > As per your suggestion, I am to generate the correct output if used in
                    > the following way:
                    >
                    > ---------------------------------------
                    > my @arr = (1, 2, 3);
                    >
                    > xxx(@arr, "aaa", "bbb");
                    >
                    > sub xxx {
                    > my ($str1, $str2, @arr) = @_;
                    >
                    > print "str1 is $str1\n";
                    > print "str2 is $str2\n";
                    > print "array is @arr\n";
                    > }
                    > ---------------------------------------
                    >
                    > Output: (CORRECT)
                    > -------
                    > str1 is aaa
                    > str2 is bbb
                    > array is 1 2 3
                    >
                    > But, when I try calling the following way i.e, I am passing array as
                    > first parameter and then strings as the second and third parameter, the
                    > o/p is not the correct value:
                    >
                    > ---------------------------------------
                    > my @arr = (1, 2, 3);
                    >
                    > xxx(@arr, "aaa", "bbb");
                    >
                    > sub xxx {
                    > my (@arr, $str1, $str2) = @_;
                    >
                    > print "str1 is $str1\n";
                    > print "str2 is $str2\n";
                    > print "array is @arr\n";
                    > }
                    > ---------------------------------------
                    >
                    > Output: (INCORRECT)
                    > -------
                    > str1 is
                    > str2 is
                    > array is 1 2 3 aaa bbb
                    >
                    > Can you please tell me why does the above method doesn't generate the
                    > correct output? Please do provide a solution, if exists.
                    >
                    > Regards,
                    > Lakshmi
                    >
                    > -----Original Message-----
                    > From: Raghu Ram Murthy [mailto:me_rams@...]
                    > Sent: Wednesday, January 05, 2005 6:03 PM
                    > To: perl-beginner@yahoogroups.com
                    > Subject: RE: [PBML] Pass array to a subroutine
                    >
                    >
                    > sub xxx {
                    > my ($str1, $str2, @arr) = @_;
                    > }
                    > my @arr = (1, 2, 3);
                    > xxx("aaa", "bbb", @arr);
                    >
                    >
                    > --- lakshmi.sailaja@... wrote:
                    >
                    > > Hello Raghuram,
                    > >
                    > > Can you please illustrate the below example by
                    > > passing 2 strings along
                    > > with the array to the subroutine?
                    > >
                    > > Regards,
                    > > Lakshmi
                    > >
                    > > -----Original Message-----
                    > > From: Raghu Ram Murthy [mailto:me_rams@...]
                    > > Sent: Wednesday, January 05, 2005 5:28 PM
                    > > To: perl-beginner@yahoogroups.com
                    > > Subject: Re: [PBML] Pass array to a subroutine
                    > >
                    > >
                    > > You can pass an array to a sub routine in two ways.
                    > > One is passing entire array and another is passing
                    > > the
                    > > array reference.
                    > >
                    > > Passing array:
                    > >
                    > > sub give_me_array {
                    > > my @values = @_;
                    > > print "@values\n";
                    > > }
                    > >
                    > > my @arr = ( 1, 2, 3 );
                    > > give_me_array(@arr);
                    > >
                    > > Passing reference:
                    > >
                    > > sub give_me_array {
                    > > my $values = shift;
                    > > print "@$values\n";
                    > > }
                    > >
                    > > my @arr = ( 1, 2, 3 );
                    > > give_me_array(\@arr);
                    > >
                    > > Thanks & Regards
                    > > -Raghuram
                    > >
                    > > --- lakshmi.sailaja@... wrote:
                    > >
                    > > > Hello,
                    > > >
                    > > > Can anyone please tell me the way I can pass an
                    > > > array to a subroutine?
                    > > >
                    > > > It would be great if any code snippet is also
                    > > > provided?
                    > > >
                    > > > Regards,
                    > > > Lakshmi
                    > > >
                    > > >
                    > >
                    > >
                    > > =====
                    > > ----------------------------------------------
                    > > P.Raghu Ram Murthy, M-tech (Computer Science),
                    > > Member, Information Technology,
                    > > D E Shaw India Software Private Limited,
                    > > 6-3-879 & 879/B
                    > > Begumpet, Hyderabad 500 016
                    > > Andhra Pradesh
                    > > India
                    > >
                    > > Mobile: (+91) 98852 17928
                    > > ----------------------------------------------
                    > >
                    > > If it doesn't work, you're not hitting it with a big
                    > > enough hammer
                    > >
                    > >
                    > >
                    > > __________________________________
                    > > Do you Yahoo!?
                    > > Take Yahoo! Mail with you! Get it on your mobile
                    > > phone.
                    > > http://mobile.yahoo.com/maildemo
                    > >
                    > >
                    > > Unsubscribing info is here:
                    > > http://help.yahoo.com/help/us/groups/groups-32.html
                    > > Yahoo! Groups Links
                    > >
                    > >
                    > >
                    > >
                    > >
                    > >
                    > >
                    > >
                    >
                    >
                    > =====
                    > ----------------------------------------------
                    > P.Raghu Ram Murthy, M-tech (Computer Science),
                    > Member, Information Technology,
                    > D E Shaw India Software Private Limited,
                    > 6-3-879 & 879/B
                    > Begumpet, Hyderabad 500 016
                    > Andhra Pradesh
                    > India
                    >
                    > Mobile: (+91) 98852 17928
                    > ----------------------------------------------
                    >
                    > If it doesn't work, you're not hitting it with a big enough hammer
                    >
                    >
                    >
                    > __________________________________
                    > Do you Yahoo!?
                    > The all-new My Yahoo! - Get yours free!
                    > http://my.yahoo.com
                    >
                    >
                    >
                    >
                    > Unsubscribing info is here:
                    > http://help.yahoo.com/help/us/groups/groups-32.html
                    > Yahoo! Groups Links
                    >
                    >
                    >
                    >
                    >
                    >
                    >
                    >
                    >
                    > Unsubscribing info is here: http://help.yahoo.com/help/us/groups/groups-32.html
                    > Yahoo! Groups Links
                    >
                    >
                    >
                    >
                    >
                    >
                    >
                  • Raghu Ram Murthy
                    Then you must pass array reference, as I ve mentioned in my first mail. No other option. Thanks -Raghuram ... === message truncated === ... P.Raghu Ram Murthy,
                    Message 9 of 11 , Jan 5, 2005
                      Then you must pass array reference, as I've mentioned
                      in my first mail. No other option.

                      Thanks
                      -Raghuram

                      --- lakshmi.sailaja@... wrote:

                      > Hello,
                      >
                      > As per your suggestion, I am to generate the correct
                      > output if used in
                      > the following way:
                      >
                      > ---------------------------------------
                      > my @arr = (1, 2, 3);
                      >
                      > xxx(@arr, "aaa", "bbb");
                      >
                      > sub xxx {
                      > my ($str1, $str2, @arr) = @_;
                      >
                      > print "str1 is $str1\n";
                      > print "str2 is $str2\n";
                      > print "array is @arr\n";
                      > }
                      > ---------------------------------------
                      >
                      > Output: (CORRECT)
                      > -------
                      > str1 is aaa
                      > str2 is bbb
                      > array is 1 2 3
                      >
                      > But, when I try calling the following way i.e, I am
                      > passing array as
                      > first parameter and then strings as the second and
                      > third parameter, the
                      > o/p is not the correct value:
                      >
                      > ---------------------------------------
                      > my @arr = (1, 2, 3);
                      >
                      > xxx(@arr, "aaa", "bbb");
                      >
                      > sub xxx {
                      > my (@arr, $str1, $str2) = @_;
                      >
                      > print "str1 is $str1\n";
                      > print "str2 is $str2\n";
                      > print "array is @arr\n";
                      > }
                      > ---------------------------------------
                      >
                      > Output: (INCORRECT)
                      > -------
                      > str1 is
                      > str2 is
                      > array is 1 2 3 aaa bbb
                      >
                      > Can you please tell me why does the above method
                      > doesn't generate the
                      > correct output? Please do provide a solution, if
                      > exists.
                      >
                      > Regards,
                      > Lakshmi
                      >
                      > -----Original Message-----
                      > From: Raghu Ram Murthy [mailto:me_rams@...]
                      > Sent: Wednesday, January 05, 2005 6:03 PM
                      > To: perl-beginner@yahoogroups.com
                      > Subject: RE: [PBML] Pass array to a subroutine
                      >
                      >
                      > sub xxx {
                      > my ($str1, $str2, @arr) = @_;
                      > }
                      > my @arr = (1, 2, 3);
                      > xxx("aaa", "bbb", @arr);
                      >
                      >
                      > --- lakshmi.sailaja@... wrote:
                      >
                      > > Hello Raghuram,
                      > >
                      > > Can you please illustrate the below example by
                      > > passing 2 strings along
                      > > with the array to the subroutine?
                      > >
                      > > Regards,
                      > > Lakshmi
                      > >
                      > > -----Original Message-----
                      > > From: Raghu Ram Murthy [mailto:me_rams@...]
                      > > Sent: Wednesday, January 05, 2005 5:28 PM
                      > > To: perl-beginner@yahoogroups.com
                      > > Subject: Re: [PBML] Pass array to a subroutine
                      > >
                      > >
                      > > You can pass an array to a sub routine in two
                      > ways.
                      > > One is passing entire array and another is passing
                      > > the
                      > > array reference.
                      > >
                      > > Passing array:
                      > >
                      > > sub give_me_array {
                      > > my @values = @_;
                      > > print "@values\n";
                      > > }
                      > >
                      > > my @arr = ( 1, 2, 3 );
                      > > give_me_array(@arr);
                      > >
                      > > Passing reference:
                      > >
                      > > sub give_me_array {
                      > > my $values = shift;
                      > > print "@$values\n";
                      > > }
                      > >
                      > > my @arr = ( 1, 2, 3 );
                      > > give_me_array(\@arr);
                      > >
                      > > Thanks & Regards
                      > > -Raghuram
                      > >
                      > > --- lakshmi.sailaja@... wrote:
                      > >
                      > > > Hello,
                      > > >
                      > > > Can anyone please tell me the way I can pass an
                      > > > array to a subroutine?
                      > > >
                      > > > It would be great if any code snippet is also
                      > > > provided?
                      > > >
                      > > > Regards,
                      > > > Lakshmi
                      > > >
                      > > >
                      > >
                      > >
                      > > =====
                      > > ----------------------------------------------
                      > > P.Raghu Ram Murthy, M-tech (Computer Science),
                      > > Member, Information Technology,
                      > > D E Shaw India Software Private Limited,
                      > > 6-3-879 & 879/B
                      > > Begumpet, Hyderabad 500 016
                      > > Andhra Pradesh
                      > > India
                      > >
                      > > Mobile: (+91) 98852 17928
                      > > ----------------------------------------------
                      > >
                      > > If it doesn't work, you're not hitting it with a
                      > big
                      > > enough hammer
                      > >
                      > >
                      > >
                      > > __________________________________
                      > > Do you Yahoo!?
                      > > Take Yahoo! Mail with you! Get it on your mobile
                      > > phone.
                      > > http://mobile.yahoo.com/maildemo
                      > >
                      > >
                      > > Unsubscribing info is here:
                      > >
                      > http://help.yahoo.com/help/us/groups/groups-32.html
                      > > Yahoo! Groups Links
                      > >
                      > >
                      > >
                      > >
                      > >
                      > >
                      > >
                      > >
                      >
                      >
                      > =====
                      > ----------------------------------------------
                      > P.Raghu Ram Murthy, M-tech (Computer Science),
                      > Member, Information Technology,
                      > D E Shaw India Software Private Limited,
                      > 6-3-879 & 879/B
                      > Begumpet, Hyderabad 500 016
                      > Andhra Pradesh
                      > India
                      >
                      > Mobile: (+91) 98852 17928
                      > ----------------------------------------------
                      >
                      > If it doesn't work, you're not hitting it with a big
                      > enough hammer
                      >
                      >
                      >
                      > __________________________________
                      > Do you Yahoo!?
                      > The all-new My Yahoo! - Get yours free!
                      > http://my.yahoo.com
                      >
                      >
                      >
                      === message truncated ===


                      =====
                      ----------------------------------------------
                      P.Raghu Ram Murthy, M-tech (Computer Science),
                      Member, Information Technology,
                      D E Shaw India Software Private Limited,
                      6-3-879 & 879/B
                      Begumpet, Hyderabad 500 016
                      Andhra Pradesh
                      India

                      Mobile: (+91) 98852 17928
                      ----------------------------------------------

                      If it doesn't work, you're not hitting it with a big enough hammer



                      __________________________________
                      Do you Yahoo!?
                      Meet the all-new My Yahoo! - Try it today!
                      http://my.yahoo.com
                    • lakshmi.sailaja@wipro.com
                      Thanks for the information. Regards, Lakshmi ... From: Brad Lhotsky [mailto:brad@divisionbyzero.net] Sent: Wednesday, January 05, 2005 8:27 PM To:
                      Message 10 of 11 , Jan 5, 2005
                        Thanks for the information.

                        Regards,
                        Lakshmi


                        -----Original Message-----
                        From: Brad Lhotsky [mailto:brad@...]
                        Sent: Wednesday, January 05, 2005 8:27 PM
                        To: perl-beginner@yahoogroups.com
                        Subject: Re: [PBML] Pass array to a subroutine


                        Perl list flattens your args in your sub routine call into one list
                        which is accesible by "@_" in the subroutine. The contents of that
                        array are "1 2 3 aaa bbb". When you make the assignment:

                        my (@list,$scalar) = @_;

                        the @list variable consumes the entire list from its position onward,
                        in this case, the beginning of the list.

                        Recommended reading:

                        perldoc perlintro
                        perldoc perldata
                        perldoc perlsub
                        perldoc perldsc

                        perldoc -q list

                        On Wed, Jan 05, 2005 at 07:26:29PM +0530, lakshmi.sailaja@...
                        wrote:
                        >
                        > Hello,
                        >
                        > As per your suggestion, I am to generate the correct output if used in
                        > the following way:
                        >
                        > ---------------------------------------
                        > my @arr = (1, 2, 3);
                        >
                        > xxx(@arr, "aaa", "bbb");
                        >
                        > sub xxx {
                        > my ($str1, $str2, @arr) = @_;
                        >
                        > print "str1 is $str1\n";
                        > print "str2 is $str2\n";
                        > print "array is @arr\n";
                        > }
                        > ---------------------------------------
                        >
                        > Output: (CORRECT)
                        > -------
                        > str1 is aaa
                        > str2 is bbb
                        > array is 1 2 3
                        >
                        > But, when I try calling the following way i.e, I am passing array as
                        > first parameter and then strings as the second and third parameter,
                        the
                        > o/p is not the correct value:
                        >
                        > ---------------------------------------
                        > my @arr = (1, 2, 3);
                        >
                        > xxx(@arr, "aaa", "bbb");
                        >
                        > sub xxx {
                        > my (@arr, $str1, $str2) = @_;
                        >
                        > print "str1 is $str1\n";
                        > print "str2 is $str2\n";
                        > print "array is @arr\n";
                        > }
                        > ---------------------------------------
                        >
                        > Output: (INCORRECT)
                        > -------
                        > str1 is
                        > str2 is
                        > array is 1 2 3 aaa bbb
                        >
                        > Can you please tell me why does the above method doesn't generate the
                        > correct output? Please do provide a solution, if exists.
                        >
                        > Regards,
                        > Lakshmi
                        >
                        > -----Original Message-----
                        > From: Raghu Ram Murthy [mailto:me_rams@...]
                        > Sent: Wednesday, January 05, 2005 6:03 PM
                        > To: perl-beginner@yahoogroups.com
                        > Subject: RE: [PBML] Pass array to a subroutine
                        >
                        >
                        > sub xxx {
                        > my ($str1, $str2, @arr) = @_;
                        > }
                        > my @arr = (1, 2, 3);
                        > xxx("aaa", "bbb", @arr);
                        >
                        >
                        > --- lakshmi.sailaja@... wrote:
                        >
                        > > Hello Raghuram,
                        > >
                        > > Can you please illustrate the below example by
                        > > passing 2 strings along
                        > > with the array to the subroutine?
                        > >
                        > > Regards,
                        > > Lakshmi
                        > >
                        > > -----Original Message-----
                        > > From: Raghu Ram Murthy [mailto:me_rams@...]
                        > > Sent: Wednesday, January 05, 2005 5:28 PM
                        > > To: perl-beginner@yahoogroups.com
                        > > Subject: Re: [PBML] Pass array to a subroutine
                        > >
                        > >
                        > > You can pass an array to a sub routine in two ways.
                        > > One is passing entire array and another is passing
                        > > the
                        > > array reference.
                        > >
                        > > Passing array:
                        > >
                        > > sub give_me_array {
                        > > my @values = @_;
                        > > print "@values\n";
                        > > }
                        > >
                        > > my @arr = ( 1, 2, 3 );
                        > > give_me_array(@arr);
                        > >
                        > > Passing reference:
                        > >
                        > > sub give_me_array {
                        > > my $values = shift;
                        > > print "@$values\n";
                        > > }
                        > >
                        > > my @arr = ( 1, 2, 3 );
                        > > give_me_array(\@arr);
                        > >
                        > > Thanks & Regards
                        > > -Raghuram
                        > >
                        > > --- lakshmi.sailaja@... wrote:
                        > >
                        > > > Hello,
                        > > >
                        > > > Can anyone please tell me the way I can pass an
                        > > > array to a subroutine?
                        > > >
                        > > > It would be great if any code snippet is also
                        > > > provided?
                        > > >
                        > > > Regards,
                        > > > Lakshmi
                        > > >
                        > > >
                        > >
                        > >
                        > > =====
                        > > ----------------------------------------------
                        > > P.Raghu Ram Murthy, M-tech (Computer Science),
                        > > Member, Information Technology,
                        > > D E Shaw India Software Private Limited,
                        > > 6-3-879 & 879/B
                        > > Begumpet, Hyderabad 500 016
                        > > Andhra Pradesh
                        > > India
                        > >
                        > > Mobile: (+91) 98852 17928
                        > > ----------------------------------------------
                        > >
                        > > If it doesn't work, you're not hitting it with a big
                        > > enough hammer
                        > >
                        > >
                        > >
                        > > __________________________________
                        > > Do you Yahoo!?
                        > > Take Yahoo! Mail with you! Get it on your mobile
                        > > phone.
                        > > http://mobile.yahoo.com/maildemo
                        > >
                        > >
                        > > Unsubscribing info is here:
                        > > http://help.yahoo.com/help/us/groups/groups-32.html
                        > > Yahoo! Groups Links
                        > >
                        > >
                        > >
                        > >
                        > >
                        > >
                        > >
                        > >
                        >
                        >
                        > =====
                        > ----------------------------------------------
                        > P.Raghu Ram Murthy, M-tech (Computer Science),
                        > Member, Information Technology,
                        > D E Shaw India Software Private Limited,
                        > 6-3-879 & 879/B
                        > Begumpet, Hyderabad 500 016
                        > Andhra Pradesh
                        > India
                        >
                        > Mobile: (+91) 98852 17928
                        > ----------------------------------------------
                        >
                        > If it doesn't work, you're not hitting it with a big enough hammer
                        >
                        >
                        >
                        > __________________________________
                        > Do you Yahoo!?
                        > The all-new My Yahoo! - Get yours free!
                        > http://my.yahoo.com
                        >
                        >
                        >
                        >
                        > Unsubscribing info is here:
                        > http://help.yahoo.com/help/us/groups/groups-32.html
                        > Yahoo! Groups Links
                        >
                        >
                        >
                        >
                        >
                        >
                        >
                        >
                        >
                        > Unsubscribing info is here:
                        http://help.yahoo.com/help/us/groups/groups-32.html
                        > Yahoo! Groups Links
                        >
                        >
                        >
                        >
                        >
                        >
                        >


                        Unsubscribing info is here:
                        http://help.yahoo.com/help/us/groups/groups-32.html
                        Yahoo! Groups Links
                      • lakshmi.sailaja@wipro.com
                        Ok. Thank you Raghuram. Regards, Lakshmi ... From: Raghu Ram Murthy [mailto:me_rams@yahoo.com] Sent: Wednesday, January 05, 2005 8:54 PM To:
                        Message 11 of 11 , Jan 5, 2005
                          Ok. Thank you Raghuram.

                          Regards,
                          Lakshmi

                          -----Original Message-----
                          From: Raghu Ram Murthy [mailto:me_rams@...]
                          Sent: Wednesday, January 05, 2005 8:54 PM
                          To: perl-beginner@yahoogroups.com
                          Subject: RE: [PBML] Pass array to a subroutine


                          Then you must pass array reference, as I've mentioned
                          in my first mail. No other option.

                          Thanks
                          -Raghuram

                          --- lakshmi.sailaja@... wrote:

                          > Hello,
                          >
                          > As per your suggestion, I am to generate the correct
                          > output if used in
                          > the following way:
                          >
                          > ---------------------------------------
                          > my @arr = (1, 2, 3);
                          >
                          > xxx(@arr, "aaa", "bbb");
                          >
                          > sub xxx {
                          > my ($str1, $str2, @arr) = @_;
                          >
                          > print "str1 is $str1\n";
                          > print "str2 is $str2\n";
                          > print "array is @arr\n";
                          > }
                          > ---------------------------------------
                          >
                          > Output: (CORRECT)
                          > -------
                          > str1 is aaa
                          > str2 is bbb
                          > array is 1 2 3
                          >
                          > But, when I try calling the following way i.e, I am
                          > passing array as
                          > first parameter and then strings as the second and
                          > third parameter, the
                          > o/p is not the correct value:
                          >
                          > ---------------------------------------
                          > my @arr = (1, 2, 3);
                          >
                          > xxx(@arr, "aaa", "bbb");
                          >
                          > sub xxx {
                          > my (@arr, $str1, $str2) = @_;
                          >
                          > print "str1 is $str1\n";
                          > print "str2 is $str2\n";
                          > print "array is @arr\n";
                          > }
                          > ---------------------------------------
                          >
                          > Output: (INCORRECT)
                          > -------
                          > str1 is
                          > str2 is
                          > array is 1 2 3 aaa bbb
                          >
                          > Can you please tell me why does the above method
                          > doesn't generate the
                          > correct output? Please do provide a solution, if
                          > exists.
                          >
                          > Regards,
                          > Lakshmi
                          >
                          > -----Original Message-----
                          > From: Raghu Ram Murthy [mailto:me_rams@...]
                          > Sent: Wednesday, January 05, 2005 6:03 PM
                          > To: perl-beginner@yahoogroups.com
                          > Subject: RE: [PBML] Pass array to a subroutine
                          >
                          >
                          > sub xxx {
                          > my ($str1, $str2, @arr) = @_;
                          > }
                          > my @arr = (1, 2, 3);
                          > xxx("aaa", "bbb", @arr);
                          >
                          >
                          > --- lakshmi.sailaja@... wrote:
                          >
                          > > Hello Raghuram,
                          > >
                          > > Can you please illustrate the below example by
                          > > passing 2 strings along
                          > > with the array to the subroutine?
                          > >
                          > > Regards,
                          > > Lakshmi
                          > >
                          > > -----Original Message-----
                          > > From: Raghu Ram Murthy [mailto:me_rams@...]
                          > > Sent: Wednesday, January 05, 2005 5:28 PM
                          > > To: perl-beginner@yahoogroups.com
                          > > Subject: Re: [PBML] Pass array to a subroutine
                          > >
                          > >
                          > > You can pass an array to a sub routine in two
                          > ways.
                          > > One is passing entire array and another is passing
                          > > the
                          > > array reference.
                          > >
                          > > Passing array:
                          > >
                          > > sub give_me_array {
                          > > my @values = @_;
                          > > print "@values\n";
                          > > }
                          > >
                          > > my @arr = ( 1, 2, 3 );
                          > > give_me_array(@arr);
                          > >
                          > > Passing reference:
                          > >
                          > > sub give_me_array {
                          > > my $values = shift;
                          > > print "@$values\n";
                          > > }
                          > >
                          > > my @arr = ( 1, 2, 3 );
                          > > give_me_array(\@arr);
                          > >
                          > > Thanks & Regards
                          > > -Raghuram
                          > >
                          > > --- lakshmi.sailaja@... wrote:
                          > >
                          > > > Hello,
                          > > >
                          > > > Can anyone please tell me the way I can pass an
                          > > > array to a subroutine?
                          > > >
                          > > > It would be great if any code snippet is also
                          > > > provided?
                          > > >
                          > > > Regards,
                          > > > Lakshmi
                          > > >
                          > > >
                          > >
                          > >
                          > > =====
                          > > ----------------------------------------------
                          > > P.Raghu Ram Murthy, M-tech (Computer Science),
                          > > Member, Information Technology,
                          > > D E Shaw India Software Private Limited,
                          > > 6-3-879 & 879/B
                          > > Begumpet, Hyderabad 500 016
                          > > Andhra Pradesh
                          > > India
                          > >
                          > > Mobile: (+91) 98852 17928
                          > > ----------------------------------------------
                          > >
                          > > If it doesn't work, you're not hitting it with a
                          > big
                          > > enough hammer
                          > >
                          > >
                          > >
                          > > __________________________________
                          > > Do you Yahoo!?
                          > > Take Yahoo! Mail with you! Get it on your mobile
                          > > phone.
                          > > http://mobile.yahoo.com/maildemo
                          > >
                          > >
                          > > Unsubscribing info is here:
                          > >
                          > http://help.yahoo.com/help/us/groups/groups-32.html
                          > > Yahoo! Groups Links
                          > >
                          > >
                          > >
                          > >
                          > >
                          > >
                          > >
                          > >
                          >
                          >
                          > =====
                          > ----------------------------------------------
                          > P.Raghu Ram Murthy, M-tech (Computer Science),
                          > Member, Information Technology,
                          > D E Shaw India Software Private Limited,
                          > 6-3-879 & 879/B
                          > Begumpet, Hyderabad 500 016
                          > Andhra Pradesh
                          > India
                          >
                          > Mobile: (+91) 98852 17928
                          > ----------------------------------------------
                          >
                          > If it doesn't work, you're not hitting it with a big
                          > enough hammer
                          >
                          >
                          >
                          > __________________________________
                          > Do you Yahoo!?
                          > The all-new My Yahoo! - Get yours free!
                          > http://my.yahoo.com
                          >
                          >
                          >
                          === message truncated ===


                          =====
                          ----------------------------------------------
                          P.Raghu Ram Murthy, M-tech (Computer Science),
                          Member, Information Technology,
                          D E Shaw India Software Private Limited,
                          6-3-879 & 879/B
                          Begumpet, Hyderabad 500 016
                          Andhra Pradesh
                          India

                          Mobile: (+91) 98852 17928
                          ----------------------------------------------

                          If it doesn't work, you're not hitting it with a big enough hammer



                          __________________________________
                          Do you Yahoo!?
                          Meet the all-new My Yahoo! - Try it today!
                          http://my.yahoo.com




                          Unsubscribing info is here:
                          http://help.yahoo.com/help/us/groups/groups-32.html
                          Yahoo! Groups Links
                        Your message has been successfully submitted and would be delivered to recipients shortly.