P0st wrote:
> 
> 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.

gunakan positive lookahead:
@a = $string_input =~ /(?=T(\d+)-)/g;
print join("\n", @a);

rgds,
Edwin

-- 
PerlMonks home node: http://perlmonks.org/?node=pope
CPAN home: http://search.cpan.org/search?author=edpratomo

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

Kirim email ke