in reply to Re: How do I drop leading zeros from a date like 07/04/2001 to read 7/4/2001??
in thread How do I drop leading zeros from a date like 07/04/2001 to read 7/4/2001??

well dang straight Dogma, and this ain't golf (none of the stupid +0 tricks and still shorter):
my $date = '07/04/2001'; $date = join '/', map int, split /\//, $date;

 
___crazyinsomniac_______________________________________
Disclaimer: Don't blame. It came from inside the void

perl -e "$q=$_;map({chr unpack qq;H*;,$_}split(q;;,q*H*));print;$q/$q;"

  • Comment on (crazyinsomniac) Re^2: How do I drop leading zeros from a date like 07/04/2001 to read 7/4/2001??
  • Download Code

Replies are listed 'Best First'.
Re3: How do I drop leading zeros from a date like 07/04/2001 to read 7/4/2001??
by blakem (Monsignor) on Nov 27, 2001 at 12:32 UTC
    I like it. As long as we're going for shorter *and* clearer, you can simplify the first param to split making it one character shorter and slightly more readable.... especially since it now matches the first param of your join.
    $date = join '/', map int, split '/', $date;

    -Blake

      Clearer? Depends on the audience.

      I would drop a bit of sugar here and there to improve comprehension:

      $date = join( '/', map { int } split( '/', $date ));

      I find my style uses more and more parentheses these days. Parentheses are necessary to stop a list-aware function from swallowing the rest of the list, e.g.:

      my $foo = join( '-', @foo ); print join( ',' => @bar ), "\n";

      You don't need the parentheses in the first statement, but they are vital in the second statement, otherwise join will gobble the \n and stuff it in @bar.

      On grounds of consistency, given that I use join in both these ways, I have decided to always use parentheses with join. Consistency is a Good Thing.

      --
      g r i n d e r
        There exists syntax which makes additional parentheses unnecessary.

        my $foo = join( '-', @foo ); print join +( ',' => @bar ), "\n"; ^^^^^