my $stringInput =
"T12-333333333\@host.net\0T13-333333333\@host.net\0T44-333333333\@host.net\0
\0";
@arr_input = split(/\0+/, $stringInput);

$arr_number = $#arr_input . "\n";
for($counter=0;$counter<=$arr_number;$counter++){
        $arr_input[$counter] =~ m/^T(\d+)\-.*/;
        # get your result in variable $1
        print $1 . "\n";
}

-toto-

-----Original Message-----
From: P0st [mailto:[EMAIL PROTECTED]]
Sent: Monday, July 09, 2001 4:36 PM
To: [EMAIL PROTECTED]
Subject: [programming] Help: Perl...


Miliser,
Saya punya masalah spesifik di perl seperti ini .
Ada string dgn format :
$string_input = "T12-333333333\@host.net\0\0";
@allowed_no = qw (1 12 22 123 2456);

Yang dibutuhkan adalah angka sebelum tanda "-" tapi sesudah huruf "T" (ie.
"12"). Tapi "12" tsb tidaklah tetap jumlah digit-nya (antara 1-5 digit).

Mungkin ini bisa mengatasi masalah :

# split addr dari host-nya
($addr,$host) = split (/\@/,$string_input);

# strip leading T
$addr = s/^T//;

#ambil angka sbl dash
($addr,$remainder) = split (/-/,$addr);

Dengan begitu $addr bisa saya compare dgn array $allowed_no

Nah, itu kalau addresyna cuma satu (mostly sih), bagaimana kalau banyak?
mis:
$string_input =
"T12-333333333\@host.net\0T13-333333333\@host.net\0T44-333333333\@host.net\0
\0";
Ada yg bisa bantu?
Thanks.



-- 
Utk berhenti langganan, kirim email ke [EMAIL PROTECTED]
Informasi arsip di http://www.linux.or.id/milis.php3

Kirim email ke