Wiggins d'Anconia wrote:
This example only matches when *all* of the possibles are supplied,
> which is explicitly what he stated he didn't have.
Thanks,
Sorry, careless reading. I'd thought he only wanted to extract certain values from a
full string. This should be a little more robust:
#!/usr/bin/perl -w
use strict;
use warnings;
my %timeHash;
my $str = $ARGV[0];
if ($str =~ /(\d+d)?(\d+h)?(\d+m)?(\d+\.?\d*s)?/) {
$timeHash{'Day'} = $1 if $1;
$timeHash{'Hour'} = $2 if $2;
$timeHash{'Minute'} = $3 if $3;
$timeHash{'Seconds'} = $4 if $4;
my $key;
foreach $key (sort keys (%timeHash)) { # sort here works only by
# alphabetic
coincidence: 'd' < 'h' < 'm' < 's', but it works
$timeHash{$key} =~ s/[dmhs]//;
print "$key = $timeHash{$key}\n";
}
}
Joseph
OT: What does "INTJ" stand for?
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]