Re: use strict; use warnings;

Discussion in 'Perl Misc' started by Marius Gavrilescu, Feb 24, 2014.

  1. Marek Novotny <> writes:

    > When I started to try to use the use strict and warnings, I got warnings
    > such as: Scalar value @diamonds[$i] better written as $diamonds[$i] at ./
    > obj10.pl line 55.
    >
    > But the whole point of what I am doing is loading elements into an
    > array... So I wanted it as @diamonds, not $diamonds, and so on.


    In Perl, the tenth element of array @something is $something[10]. So the
    warnings are correct — you should write $diamonds[$i] instead of
    @diamonds[$i].

    Another problem is that you declare the $i variable multiple times. You
    should only declare it once, the first time you use it. You can also
    refactor

    my $i = 0;
    while ($i < 13){
    $spades[$i] = shift(@startingdeck);
    $i++;
    }

    to

    for (my $i = 0 ; $i < 13 ; $i++) {
    $spades[$i] = shift(@startingdeck);
    }

    Finally, there are several undeclared variables (@hearts, @diamonds,
    @spades, @clubs, @sorted, $ace).

    After fixing these three problems the code should run without warnings
    under use strict; use warnings;
    --
    Marius Gavrilescu

    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG v1

    iQIcBAEBCgAGBQJTCuiSAAoJEMoENb5ewbNiiHEP/jwwTB6zhIUmT28HW1uzsIWF
    iwdYvfStkWhMnGuT5O2ZEkEMFIiepFy1PW9/eFzvT0fC6b3fVIAr4AruBQf67Zh/
    k5Spkn+Sd+OweUbGJ3lRRaEow4iwPHXTVAfy0O+3qdZaRhXyJnx/dtx363fqjUPo
    VyxUHkT6iK/HBD0fqz+GNxT/2c0S1Pi7YED1xr7FbhJ9iO63lDFXlkOw+Woacyv4
    gZsw8LEekOZu08AD5ggeMhFNr8SrWsvY59ux5QdU/319/3UoAXiK+VVK6mXy9rvO
    2n5GBuPBqAvrgkWmI9cZb9VWuqANSpjz65+z29i9gdRvFa2IJble4scpmtdDSlpw
    /w3VobCmuzVBSerSpiXQVQZBavuJ87DIYamDrzdGgThqgSzg9MdGhCbo6EIb7gOm
    i5Ph19hdlB7p2RuNITr3X/noYJzEzhOTKYURuuEF92ehMhEVxdh76+YbeDn9jZDO
    +ltZ2l1eBRYT4IzIo9KMAq2jyH6ZM+Ah0e2CVPHL3GObiCrGdIiiBYFS2sPBxF85
    qpMl3NjI7Ia7J/dIJKpazylV+PtWhxjAM5MA1I9bSpEO3srdQ9sUPXfGwXYRjRUY
    uIO+IPOVF0s4bhtwxISY1E1ED2LlhSt+eoh+zQwe7RPRY2r8zxGkLQZO00TPNji2
    BQuT1PBMa9MMhChfxSVN
    =coba
    -----END PGP SIGNATURE-----
    Marius Gavrilescu, Feb 24, 2014
    #1
    1. Advertising

  2. Marius Gavrilescu

    Justin C Guest

    On 2014-02-24, Marius Gavrilescu <> wrote:
    > --=-=-=
    > Content-Type: text/plain; charset=utf-8
    > Content-Transfer-Encoding: quoted-printable


    Marius, this isn't going to help, your reply is full of

    > =20
    > =20
    >> =20

    >

    ....
    > warnings are correct =E2=80=94 you should write $diamonds[$i] instead


    > my $i =3D 0;


    > =2D-=20
    > Marius Gavrilescu
    >
    > --=-=-=
    > Content-Type: application/pgp-signature
    >
    > --=-=-=--


    The above could be part of the problem. Plain text works globally.


    Justin.

    --
    Justin C, by the sea.
    Justin C, Feb 24, 2014
    #2
    1. Advertising

  3. Justin C <> writes:

    > Marius, this isn't going to help, your reply is full of
    > ...
    > The above could be part of the problem. Plain text works globally.


    Sorry, I assumed that every client was able to read MIME messages. I
    don't know how to make gnus send non-MIME messages. I've disabled the
    PGP signature for this message, maybe it will also disable MIME.

    As far as I know, slrn has the ability to process MIME messages with
    metamail. This may help you view MIME messages in the future.

    My previous article said:

    In Perl, the tenth element of array @something is $something[10]. So the
    warnings are correct — you should write $diamonds[$i] instead of
    @diamonds[$i].

    Another problem is that you declare the $i variable multiple times. You
    should only declare it once, the first time you use it. You can also
    refactor

    my $i = 0;
    while ($i < 13){
    $spades[$i] = shift(@startingdeck);
    $i++;
    }

    to

    for (my $i = 0 ; $i < 13 ; $i++) {
    $spades[$i] = shift(@startingdeck);
    }

    Finally, there are several undeclared variables (@hearts, @diamonds,
    @spades, @clubs, @sorted, $ace).

    After fixing these three problems the code should run without warnings
    under use strict; use warnings;
    --
    Marius Gavrilescu
    Marius Gavrilescu, Feb 24, 2014
    #3
  4. Marius Gavrilescu

    Justin C Guest

    On 2014-02-24, Marius Gavrilescu <> wrote:
    > Justin C <> writes:
    >
    >> Marius, this isn't going to help, your reply is full of
    >> ...
    >> The above could be part of the problem. Plain text works globally.

    >
    > Sorry, I assumed that every client was able to read MIME messages. I
    > don't know how to make gnus send non-MIME messages. I've disabled the
    > PGP signature for this message, maybe it will also disable MIME.


    That's better, thank you! :)


    > As far as I know, slrn has the ability to process MIME messages with
    > metamail. This may help you view MIME messages in the future.


    I don't recall using/needing it in 17 years of slrn usage, but I'll
    take a look.


    > My previous article said:


    [snip]

    'tis legible now. We don't know what software the OP is using,
    I always prefer to send (and receive) something that everyone
    can read than something that relies on having the correct soft-
    ware for it to be readable.

    Sorry if I came across as a plain-text pedant, I didn't mean
    to. Please accept my apologies. I put it down to it being early
    Monday morning, and an insufficient quantity of caffein.


    Justin.

    --
    Justin C, by the sea.
    Justin C, Feb 24, 2014
    #4
  5. Justin C <> writes:

    > 'tis legible now. We don't know what software the OP is using,


    The OP is using Pan 0.135, which understands MIME.

    > I always prefer to send (and receive) something that everyone
    > can read than something that relies on having the correct soft-
    > ware for it to be readable.


    Fortunately, MIME tends to be quite readable even without any extra
    software, especially when the encoded text does not contain lines that
    end with a space, non-ASCII characters, or = characters (my post
    unfortunately contained all of these).

    > Sorry if I came across as a plain-text pedant, I didn't mean
    > to. Please accept my apologies. I put it down to it being early
    > Monday morning, and an insufficient quantity of caffein.


    No problem :)
    --
    Marius Gavrilescu
    Marius Gavrilescu, Feb 24, 2014
    #5
  6. Marius Gavrilescu <> writes:
    > Marek Novotny <> writes:
    >
    >> When I started to try to use the use strict and warnings, I got warnings
    >> such as: Scalar value @diamonds[$i] better written as $diamonds[$i] at ./
    >> obj10.pl line 55.
    >>
    >> But the whole point of what I am doing is loading elements into an
    >> array... So I wanted it as @diamonds, not $diamonds, and so on.

    >
    > In Perl, the tenth element of array @something is $something[10].


    That would be the eleventh element. The tenth is $something[9].
    Rainer Weikusat, Feb 24, 2014
    #6
  7. On 2014-02-24 12:00, Marius Gavrilescu <> wrote:
    > In Perl, the tenth element of array @something is $something[10]. So the
    > warnings are correct — you should write $diamonds[$i] instead of
    > @diamonds[$i].


    Yes. It is tempting to think of the sigil as denoting the type of the
    variable ($ for scalars, @ for arrays, % for hashes), but it's wrong.
    The sigil denotes the type of the value: A single element of an array is
    a scalar, so it needs a $. several elements form a list, so we use an @.
    You could write @diamonds[$i, $j].

    When compared to natural languages, the sigils are similar to articles
    or numerals. "$" means "a" and "@" and "%" mean "some" (so Perl has two
    kinds of plural).

    hp


    --
    _ | Peter J. Holzer | Fluch der elektronischen Textverarbeitung:
    |_|_) | | Man feilt solange an seinen Text um, bis
    | | | | die Satzbestandteile des Satzes nicht mehr
    __/ | http://www.hjp.at/ | zusammenpaßt. -- Ralph Babel
    Peter J. Holzer, Feb 24, 2014
    #7
  8. Ben Morrow <> writes:
    > Quoth Rainer Weikusat <>:
    >> Marius Gavrilescu <> writes:
    >> > Marek Novotny <> writes:
    >> >
    >> >> When I started to try to use the use strict and warnings, I got warnings
    >> >> such as: Scalar value @diamonds[$i] better written as $diamonds[$i] at ./
    >> >> obj10.pl line 55.
    >> >>
    >> >> But the whole point of what I am doing is loading elements into an
    >> >> array... So I wanted it as @diamonds, not $diamonds, and so on.
    >> >
    >> > In Perl, the tenth element of array @something is $something[10].

    >>
    >> That would be the eleventh element. The tenth is $something[9].

    >
    > It's not uncommon, when talking about languages like Perl which index
    > from 0, to start the ordinals at 'zeroth'.


    I've never heard or seen anyone do this and not even the Perl
    documentation does,

    shift Shifts the first value of the array off and returns it,

    first BLOCK LIST
    Similar to "grep" in that it evaluates BLOCK setting $_ to
    each element of LIST in turn. "first" returns the first
    element where the result from BLOCK is a true value. If BLOCK
    never returns true or LIST was empty then "undef" is
    returned.

    $[ The index of the first element in an array,

    The tenth element is the one which as nine other elements in front of it
    and what set of indices is used for random access to these elements is a
    completely unrelated question. This results in a sensible convention
    (nth element as n - 1 elements in front of it) while the other idea
    doesn't ('-1 elements in front of it' makes no sense).

    It should also be noted that 'indexing from 0' is a property Perl very
    likely inherited from C (encouraged by all the other languages which
    also did this) but that it hangs somewhat in the air because it didn't
    inherit pointer arithmetic: In C, a[0] is the element whose distance
    from the start of the array is 0, other ways to express the same would
    be *a or *(a + 0). Since the 2nd element has one element in front of it,
    its distance from the start of the arrays is 1 and so on.
    Rainer Weikusat, Feb 25, 2014
    #8
  9. Marius Gavrilescu

    $Bill Guest

    On 2/24/2014 15:47, Ben Morrow wrote:
    >
    > Quoth Rainer Weikusat <>:
    >> Marius Gavrilescu <> writes:
    >>>
    >>> In Perl, the tenth element of array @something is $something[10].

    >>
    >> That would be the eleventh element. The tenth is $something[9].

    >
    > It's not uncommon, when talking about languages like Perl which index
    > from 0, to start the ordinals at 'zeroth'.


    Except the zeroth and first element are the same thing. :)
    $Bill, Feb 25, 2014
    #9
  10. Marius Gavrilescu

    Justin C Guest

    On 2014-02-24, Peter J. Holzer <> wrote:
    > On 2014-02-24 12:00, Marius Gavrilescu <> wrote:
    >> In Perl, the tenth element of array @something is $something[10]. So the
    >> warnings are correct — you should write $diamonds[$i] instead of
    >> @diamonds[$i].

    >
    > Yes. It is tempting to think of the sigil as denoting the type of the
    > variable ($ for scalars, @ for arrays, % for hashes), but it's wrong.
    > The sigil denotes the type of the value: A single element of an array is
    > a scalar, so it needs a $. several elements form a list, so we use an @.
    > You could write @diamonds[$i, $j].


    Yup, ignore what I said, what peter said is way better.


    > When compared to natural languages, the sigils are similar to articles
    > or numerals. "$" means "a" and "@" and "%" mean "some" (so Perl has two
    > kinds of plural).



    Justin.

    --
    Justin C, by the sea.
    Justin C, Feb 25, 2014
    #10
  11. Ben Morrow <> wrote:
    >It's not uncommon, when talking about languages like Perl which index
    >from 0, to start the ordinals at 'zeroth'.


    Only by those people, who also celebrated the start of the third
    millenium at the end of 1999.

    jue
    Jürgen Exner, Feb 25, 2014
    #11
  12. Ben Morrow <> writes:
    > Quoth Jürgen Exner <>:
    >> Ben Morrow <> wrote:
    >> >It's not uncommon, when talking about languages like Perl which index
    >> >from 0, to start the ordinals at 'zeroth'.

    >>
    >> Only by those people, who also celebrated the start of the third
    >> millenium at the end of 1999.

    >
    > No, that's the opposite problem: the Gregorian calendar is 1-indexed.


    The Gregorian calender isn't indexed at all because time is not a
    random-access sequence. But it is a nice example to illustrate the
    differnce: 1AD is the year were Christ turned 1. That's the first year
    after his birth. The first millenium ended with with 1000th year after
    his birth, hence, the first year of the 2nd millenium was
    1001. Ultimatively, the sequence of 'year numbers' comes into being as
    years are being counted: The number for each new years is 'number of
    years we have seen so far + 1'. There was never a year with 'number 0'
    because 0 was the state 'no years seen so far'. This basic model works
    the same of any (ordered) sequence of things.

    OTOH, 'array indexing' is a surjective function F:X -> Y which maps
    'some set of numbers' to 'some set of elements'. Depending on the
    programming language which is being used, there may be some additional
    restrictions placed on X, eg, 'the smallest element in X is always 0'
    for C or 'the smallest element in X is always $[' for traditional Perl
    or 'X may be any subset of the set of integers' for Pascal (and even
    more). But regardless of that, there's always a 'first element' which is
    the one corresponding with the smallest element of X for some specific
    function.

    I completely believe that some people refer to 'the zeroth element' if
    array indexing happens to be 0-based that the same people will happily
    call the first element of an array whose smallest index is -43 the 'minus
    43th element'. I've encountered similar logic in a NIC-driver some years
    ago where the RX DMA-ring was indexed by an index and the TX ring by an
    outdex, ie "Why would I care about anything except my current,
    myopic perspective?". But that's not a useful attitude for either
    communication of higher-order abstractions.
    Rainer Weikusat, Feb 25, 2014
    #12
  13. Marius Gavrilescu

    Kaz Kylheku Guest

    On 2014-02-25, Rainer Weikusat <> wrote:
    > years are being counted: The number for each new years is 'number of
    > years we have seen so far + 1'. There was never a year with 'number 0'
    > because 0 was the state 'no years seen so far'. This basic model works
    > the same of any (ordered) sequence of things.


    Even within measurement of time, not everything is idiotically one-based,
    luckily. The time after 23:59 is 00:00 (though twelve-hour time hides zero by
    calling it twelve). The first minute of every hour is 00, with seconds that go
    from 0 to 59.

    > I completely believe that some people refer to 'the zeroth element' if
    > array indexing happens to be 0-based that the same people will happily
    > call the first element of an array whose smallest index is -43 the 'minus
    > 43th element'.


    That should be "minus forty-THIRD element", damn it! It is a perfectly grammatical ordinal, with a clear meaning.

    Zeroth is a word, appearing in dictionaries and everything:

    http://www.merriam-webster.com/dictionary/zeroth

    The nut on a guiar is also the "zeroth fret" (and some instruments actually
    have such a fret). Wikipedia has a page on it, calling it the "zero fret".

    > I've encountered similar logic in a NIC-driver some years
    > ago where the RX DMA-ring was indexed by an index and the TX ring by an
    > outdex, ie "Why would I care about anything except my current,
    > myopic perspective?". But that's not a useful attitude for either
    > communication of higher-order abstractions.


    "zeroth" does not entail a whimsical reinterpretation of a word fragment like
    "outdex".
    Kaz Kylheku, Feb 25, 2014
    #13
  14. Rainer Weikusat <> writes:

    [...]

    > OTOH, 'array indexing' is a surjective function F:X -> Y which maps
    > 'some set of numbers' to 'some set of elements'. Depending on the
    > programming language which is being used, there may be some additional
    > restrictions placed on X, eg,

    [...]

    > 'X may be any subset of the set of integers' for Pascal


    This is an exaggeration. It may consist of the members of any interval
    which is a subset of the set of integers (or however this can be
    described).
    Rainer Weikusat, Feb 25, 2014
    #14
  15. Kaz Kylheku <> writes:
    > On 2014-02-25, Rainer Weikusat <> wrote:
    >> years are being counted: The number for each new years is 'number of
    >> years we have seen so far + 1'. There was never a year with 'number 0'
    >> because 0 was the state 'no years seen so far'. This basic model works
    >> the same of any (ordered) sequence of things.

    >
    > Even within measurement of time, not everything is idiotically one-based,
    > luckily. The time after 23:59 is 00:00 (though twelve-hour time hides zero by
    > calling it twelve). The first minute of every hour is 00, with seconds that go
    > from 0 to 59.


    Yet you refer to that as 'first minute', not 'zeroth minute'. That's
    consistent with the idea that it is the first new minute observed after
    hh:59, ie, something observable is being counted here.
    Rainer Weikusat, Feb 25, 2014
    #15
  16. Marius Gavrilescu

    $Bill Guest

    On 2/25/2014 05:02, Henry Law wrote:
    > On 25/02/14 12:00, $Bill wrote:
    >> Except the zeroth and first element are the same thing

    >
    > What fun. Does that mean we have, for the first time in history, a need for the cardinal "oneth"? The first element is the zeroth; the second is the oneth.


    Yeah, but twoth sounds funny and I have no idea how to say twelftheth. :)
    $Bill, Feb 26, 2014
    #16
  17. Marius Gavrilescu

    Tim McDaniel Guest

    In article <>,
    Ben Morrow <> wrote:
    >No, there was never a year 0 because the Venemous Bede was working
    >with a number system which didn't have a zero.


    You mean "the Venomous Bede".

    --
    Tim "Sing a song of Saxons / In the wapentake of Rye /
    Four and twenty ealdormen / Too eald to die" McDaniel, ,
    full stop.
    Tim McDaniel, Feb 26, 2014
    #17
  18. Ben Morrow <> writes:
    > Quoth Rainer Weikusat <>:
    >> Ben Morrow <> writes:
    >> > Quoth Jürgen Exner <>:
    >> >> Ben Morrow <> wrote:
    >> >> >It's not uncommon, when talking about languages like Perl which index
    >> >> >from 0, to start the ordinals at 'zeroth'.
    >> >>
    >> >> Only by those people, who also celebrated the start of the third
    >> >> millenium at the end of 1999.
    >> >
    >> > No, that's the opposite problem: the Gregorian calendar is 1-indexed.

    >>
    >> The Gregorian calender isn't indexed at all because time is not a
    >> random-access sequence.

    >
    > Of course it is. If I open my diary at the page for 'June 2014' I am
    > accessing a representation of a particular period of time using an
    > index.


    You are accessing 'your diary' according to some arbitrary indexing
    scheme someone invented. Ergo, your diary is indexed. That doesn't mean
    anything else is.

    >> But it is a nice example to illustrate the
    >> differnce: 1AD is the year were Christ turned 1. That's the first year
    >> after his birth. The first millenium ended with with 1000th year after
    >> his birth, hence, the first year of the 2nd millenium was
    >> 1001. Ultimatively, the sequence of 'year numbers' comes into being as
    >> years are being counted: The number for each new years is 'number of
    >> years we have seen so far + 1'. There was never a year with 'number 0'
    >> because 0 was the state 'no years seen so far'.

    >
    > No, there was never a year 0 because the Venemous Bede was working with
    > a number system which didn't have a zero.


    The likely reason why this numbering system didn't have zero was that
    nobody saw any use for it. Considering this, it seems unlikely that the
    Nondescript Whatnot had used zero to mean one had he only known about
    it. But both your statement and my statement are "conjectural history",
    ie speculations about what could have happened in the past instead of
    what did happen.

    > Any sensible modern calendar does include a year or time 0 (usually 1
    > BC in year-based systems; other systems like TAI count seconds rather
    > than years and have an arbitrarily-chosen 'time 0').


    That's your misinterpretation of it. As explained above, 'time 0' really
    means 'no time passed so far'.

    Loosely related: There isn't really a 'minute 0' on the clock, that's
    minute sixty of the past hour, after which the 'minute counter' wraps
    around to zero because the arithmetic is performed in the mod 60
    remainder ring.

    I hereby proclaim a much more sensible system of counting that 1st, 2nd, 3rd,
    ...., one I call Kelvinism. It goes like this -273,15th, -272.15th,
    -271.15th ... Not only does this get rid of this confusing array of
    context-depenendent suffixes but it is firmly grounded in laws of
    nature!.
    Rainer Weikusat, Feb 26, 2014
    #18
  19. Ben Morrow <> writes:
    > Quoth Rainer Weikusat <>:
    >>
    >> > Any sensible modern calendar does include a year or time 0 (usually 1
    >> > BC in year-based systems; other systems like TAI count seconds rather
    >> > than years and have an arbitrarily-chosen 'time 0').

    >>
    >> That's your misinterpretation of it. As explained above, 'time 0' really
    >> means 'no time passed so far'.

    >
    > No. ISO 8601 years number AD 1 as +1, 1 BC as +0, and 2 BC as -1. If it
    > was counting years before or after some point 1 BC would be -1.


    For systems which measure passing time, 'time 0' means "we start to
    measure now", ie, the POSIX timestamp 1 represents first second which
    passed since the epoch. You're correct about ISO8601 'year numbers' but
    this is a convention which has very likely been designed for 'ease of
    processing' on computers.

    >> Loosely related: There isn't really a 'minute 0' on the clock, that's
    >> minute sixty of the past hour, after which the 'minute counter' wraps
    >> around to zero because the arithmetic is performed in the mod 60
    >> remainder ring.

    >
    > There is no 60 in the mod 60 remainder ring. 60 % 60 = 0.


    .... which is why the minute counter of a digital clock wraps to 0 after the
    60th minute of an hour has passed ...

    >> I hereby proclaim a much more sensible system of counting that 1st, 2nd, 3rd,
    >> ..., one I call Kelvinism. It goes like this -273,15th, -272.15th,
    >> -271.15th ... Not only does this get rid of this confusing array of
    >> context-depenendent suffixes but it is firmly grounded in laws of
    >> nature!.

    >
    > No, it's grounded in the rather arbitrary choice of the freezing point
    > of water as the basis of the Celsius scale.


    There's no Kelvinism but Kelvinism and the dirty heretics who speak of
    'Celsian Kelvinism' in order to justify sticking to their
    devil-inspired, pagan superstitions will be arianised in due time!

    (I was actually envisioning the nice possibility of a theological
    schism which is just as pointless, if not more, than the idea itself
    here, as further illustration of the absurdity of the concept).
    Rainer Weikusat, Feb 26, 2014
    #19
  20. Marius Gavrilescu

    Kaz Kylheku Guest

    On 2014-02-26, Rainer Weikusat <> wrote:
    > Loosely related: There isn't really a 'minute 0' on the clock, that's
    > minute sixty of the past hour, after which the 'minute counter' wraps
    > around to zero because the arithmetic is performed in the mod 60
    > remainder ring.


    LOL-inducting bull poo poo!

    Every digital clock shows hh:00 for a full minute at the top of the hour. That
    is "minute zero" (the first minute), loud and clear.

    This is not a minute belonging to the past hour. The past hour's last minute
    is "minute 59" (its sixtieth minute).
    Kaz Kylheku, Feb 27, 2014
    #20
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Kaz Kylheku

    Re: use strict; use warnings;

    Kaz Kylheku, Feb 24, 2014, in forum: Perl Misc
    Replies:
    0
    Views:
    57
    Kaz Kylheku
    Feb 24, 2014
  2. George Mpouras

    Re: use strict; use warnings;

    George Mpouras, Feb 24, 2014, in forum: Perl Misc
    Replies:
    0
    Views:
    46
    George Mpouras
    Feb 24, 2014
  3. Mart van de Wege

    Re: use strict; use warnings;

    Mart van de Wege, Feb 24, 2014, in forum: Perl Misc
    Replies:
    1
    Views:
    46
    Mart van de Wege
    Feb 25, 2014
  4. Justin C

    Re: use strict; use warnings;

    Justin C, Feb 24, 2014, in forum: Perl Misc
    Replies:
    2
    Views:
    69
    Justin C
    Feb 25, 2014
  5. Janek Schleicher

    Re: use strict; use warnings;

    Janek Schleicher, Feb 24, 2014, in forum: Perl Misc
    Replies:
    4
    Views:
    74
    $Bill
    Feb 25, 2014
Loading...

Share This Page