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